diff --git a/.drone.yml b/.drone.yml index 2307fce..1ce9fa9 100644 --- a/.drone.yml +++ b/.drone.yml @@ -19,15 +19,35 @@ steps: - git submodule init - git submodule update --recursive - hugo --source blog - - |- - cat << EOF > Dockerfile - FROM nginxinc/nginx-unprivileged - COPY blog/public /usr/share/nginx/html - EOF - name: push-built-image image: plugins/docker settings: - debug: true repo: rassigma.avril:5000/scubbo/blog_nginx tags: built_in_ci - insecure: true \ No newline at end of file + insecure: true + - name: update_blog_deployment + # I've tried using https://github.com/sinlead/drone-kubectl and + # https://github.com/honestbee/drone-kubernetes, but neither is built for arm64 + image: busybox + # Replicating the commands from + # https://github.com/sinlead/drone-kubectl/blob/master/init-kubectl + commands: + # https://github.com/bitnami/bitnami-docker-kubectl/issues/22 - + # there's no bitnami/kubectl image for arm64 + - wget https://storage.googleapis.com/kubernetes-release/release/v1.19.2/bin/linux/arm64/kubectl + - chmod +x kubectl + - echo "Echoing Kubernetes Server" + - echo $kubernetesServer + - ./kubectl config set-credentials default --token=$kubernetesToken + - echo $kubernetesCert | base64 -d > ca.crt + - ./kubectl config set-cluster default --server=$kubernetesServer --certificate-authority=ca.crt + - ./kubectl config set-context default --cluster=default --user=default + - ./kubectl config use-context default + - ./kubectl apply -f kubernetes-resources.yml + environment: + kubernetesServer: + from_secret: k8s_server + kubernetesCert: + from_secret: k8s_cert + kubernetesToken: + from_secret: k8s_token \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..194aeed --- /dev/null +++ b/Dockerfile @@ -0,0 +1,2 @@ +FROM nginxinc/nginx-unprivileged +COPY blog/public /usr/share/nginx/html diff --git a/kubernetes-resources.yml b/kubernetes-resources.yml new file mode 100644 index 0000000..812b0c0 --- /dev/null +++ b/kubernetes-resources.yml @@ -0,0 +1,36 @@ +apiVersion: v1 +kind: Service +metadata: + name: blog-svc + namespace: blog +spec: + selector: + role: app + ports: + - port: 8080 + type: LoadBalancer +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: blog-deployment + labels: + role: app + namespace: blog +spec: + replicas: 2 + selector: + matchLabels: + role: app + template: + metadata: + labels: + role: app + spec: + containers: + - name: app + image: "docker-registry.avril/scubbo/blog_nginx:built_in_ci" + imagePullPolicy: 'Always' + resources: + requests: + cpu: 10m