jerryliao 1 рік тому
батько
коміт
61189c5f5d
3 змінених файлів з 41 додано та 0 видалено
  1. 3 0
      .dockerignore
  2. 25 0
      .drone.yml
  3. 13 0
      Dockerfile

+ 3 - 0
.dockerignore

@@ -0,0 +1,3 @@
+data
+.git
+.drone.yml

+ 25 - 0
.drone.yml

@@ -0,0 +1,25 @@
+kind: pipeline
+type: exec
+name: default
+
+platform:
+  os: linux
+  arch: amd64
+
+steps:
+  - name: build
+    commands:
+      - docker build --build-arg GIT_REVISION=${DRONE_BUILD_NUMBER} -t ${DRONE_REPO_NAME}:rev${DRONE_BUILD_NUMBER} .
+
+  - name: clean
+    commands:
+      - docker container stop ${DRONE_REPO_NAME} || true
+      - docker container rm ${DRONE_REPO_NAME} || true
+
+  - name: deploy
+    commands:
+      - docker run --detach --name ${DRONE_REPO_NAME} --restart always -v /var/www/post/data:/data -p 8000:8000 ${DRONE_REPO_NAME}:rev${DRONE_BUILD_NUMBER}
+
+trigger:
+  branch:
+    - cicd

+ 13 - 0
Dockerfile

@@ -0,0 +1,13 @@
+FROM denoland/deno:1.38.3
+
+ARG GIT_REVISION
+ENV DENO_DEPLOYMENT_ID=${GIT_REVISION}
+
+WORKDIR /app
+
+COPY . .
+RUN deno cache main.ts
+
+EXPOSE 8000
+
+CMD ["run", "-A", "main.ts"]