Ver Fonte

add CICD support

jerryliao há 2 anos atrás
pai
commit
ff6a72dbbe
5 ficheiros alterados com 46 adições e 6 exclusões
  1. 26 0
      .drone.yml
  2. 15 1
      Dockerfile
  3. 1 1
      README.md
  4. 2 2
      docker/build/finalize.sh
  5. 2 2
      docker/build/install-task.sh

+ 26 - 0
.drone.yml

@@ -0,0 +1,26 @@
+kind: pipeline
+type: exec
+name: default
+
+platform:
+    os: linux
+    arch: amd64
+
+steps:
+  - name: build
+    commands:
+      - docker build -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 /home/gogs/gogs-repositories:/data/git/gogs-repositories -v /home/gogs/gogs/custom:/data/gogs -v /home/gogs/gogs/data:/data/gogs/data -v /home/gogs/gogs/log:/data/gogs/log -p 3000:3000 ${DRONE_REPO_NAME}:rev${DRONE_BUILD_NUMBER}
+
+
+trigger:
+    branch:
+        - jerryliao

+ 15 - 1
Dockerfile

@@ -1,4 +1,13 @@
 FROM golang:alpine3.17 AS binarybuilder
+
+# Set goproxy
+RUN go env -w GO111MODULE=on
+RUN go env -w GOPROXY=https://goproxy.cn,direct
+
+# Set mirror
+RUN echo "https://mirrors.sustech.edu.cn/alpine/v3.16/main" > /etc/apk/repositories ; \
+    echo "https://mirrors.sustech.edu.cn/alpine/v3.16/community" >> /etc/apk/repositories ;
+
 RUN apk --no-cache --no-progress add --virtual \
   build-deps \
   build-base \
@@ -12,6 +21,11 @@ RUN ./docker/build/install-task.sh
 RUN TAGS="cert pam" task build
 
 FROM alpine:3.17
+
+# Set mirror
+RUN echo "https://mirrors.sustech.edu.cn/alpine/v3.16/main" > /etc/apk/repositories ; \
+    echo "https://mirrors.sustech.edu.cn/alpine/v3.16/community" >> /etc/apk/repositories ;
+
 RUN apk --no-cache --no-progress add \
   bash \
   ca-certificates \
@@ -41,4 +55,4 @@ VOLUME ["/data", "/backup"]
 EXPOSE 22 3000
 HEALTHCHECK CMD (curl -o /dev/null -sS http://localhost:3000/healthcheck) || exit 1
 ENTRYPOINT ["/app/gogs/docker/start.sh"]
-CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
+CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]

+ 1 - 1
README.md

@@ -1,6 +1,6 @@
 ![gogs-brand](https://user-images.githubusercontent.com/2946214/146899259-6a8b58ad-8d6e-40d2-ab02-79dc6aadabbf.png)
 
-[![GitHub Workflow Status](https://img.shields.io/github/checks-status/gogs/gogs/main?logo=github&style=for-the-badge)](https://github.com/gogs/gogs/actions?query=branch%3Amain) [![Discord](https://img.shields.io/discord/382595433060499458.svg?style=for-the-badge&logo=discord)](https://discord.gg/9aqdHU7) [![Sourcegraph](https://img.shields.io/badge/view%20on-Sourcegraph-brightgreen.svg?style=for-the-badge&logo=sourcegraph)](https://sourcegraph.com/github.com/gogs/gogs)
+[![Build Status](https://cicd.jerryliao.cn/api/badges/jerryliao/gogs/status.svg?ref=refs/heads/jerryliao)](https://cicd.jerryliao.cn/jerryliao/gogs)
 
 [简体中文](README_ZH.md)
 

+ 2 - 2
docker/build/finalize.sh

@@ -14,7 +14,7 @@ else
   export checksum='bd8be776e97ec2b911190a82d9ab3fa6c013ae6d3121eea3d0bfd5c82a0eaf8c'
 fi
 
-wget --quiet https://github.com/tianon/gosu/releases/download/1.14/gosu-${arch} -O /usr/sbin/gosu
+wget --quiet https://ghproxy.com/https://github.com/tianon/gosu/releases/download/1.14/gosu-${arch} -O /usr/sbin/gosu
 echo "${checksum}  /usr/sbin/gosu" | sha256sum -cs
 chmod +x /usr/sbin/gosu
 
@@ -27,4 +27,4 @@ echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile
 rm -rf /app/gogs/build
 rm -rf /app/gogs/docker/build
 rm /app/gogs/docker/nsswitch.conf
-rm /app/gogs/docker/README.md
+rm /app/gogs/docker/README.md

+ 2 - 2
docker/build/install-task.sh

@@ -13,8 +13,8 @@ else
   export checksum='b9c5986f33a53094751b5e22ccc33e050b4a0a485658442121331cbb724e631e'
 fi
 
-wget --quiet https://github.com/go-task/task/releases/download/v3.12.1/task_linux_${arch}.tar.gz -O task_linux_${arch}.tar.gz
+wget --quiet https://ghproxy.com/https://github.com/go-task/task/releases/download/v3.12.1/task_linux_${arch}.tar.gz -O task_linux_${arch}.tar.gz
 echo "${checksum}  task_linux_${arch}.tar.gz" | sha256sum -cs
 
 tar -xzf task_linux_${arch}.tar.gz
-mv task /usr/local/bin/task
+mv task /usr/local/bin/task