diff --git a/.gitea/workflows/dev.yaml b/.gitea/workflows/dev.yaml index be17ec3..c33f956 100644 --- a/.gitea/workflows/dev.yaml +++ b/.gitea/workflows/dev.yaml @@ -1,36 +1,36 @@ -name: Docker Image CI -on: - push: - branches: - - dev - -jobs: - build: - runs-on: gitea-official-runner - container: - image: harbor.merlin.xin/release/merlin/action_builder:v0.0.1 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: docker login - env: - HARBOR_USERNAME: ${{ secrets.HARBOR_ROBOT }} - HARBOR_PASSWORD: ${{ secrets.HARBOR_ROBOT_SECRET }} - HARBOR_URL: ${{ vars.HARBOR_URL }} - run: docker login ${HARBOR_URL} -u ${HARBOR_USERNAME} -p ${HARBOR_PASSWORD} - - name: Build and push Docker images - env: - HARBOR_URL: ${{ vars.HARBOR_URL }} - TAG: ${{ github.sha }} - REPOSITORY: ${{ github.repository }} - run: | - ROOT_DIR=$(pwd) - IMAGE_NAME="${HARBOR_URL}/testing/$REPOSITORY:${TAG}" - echo "Building image: ${IMAGE_NAME}" - docker build -t ${IMAGE_NAME} . - echo "Pushing image: ${IMAGE_NAME}" - docker push ${IMAGE_NAME} - echo "Successfully pushed: ${IMAGE_NAME}" - docker rmi ${IMAGE_NAME} - echo "cleaned up local image" - +name: Docker Image CI +on: + push: + branches: + - dev + +jobs: + build: + runs-on: gitea-runner-group-candlelight + container: + image: ${{ vars.HARBOR_URL }}/candlelight/action_builder:v0.0.1 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: docker login + env: + HARBOR_USERNAME: ${{ secrets.HARBOR_ROBOT }} + HARBOR_PASSWORD: ${{ secrets.HARBOR_ROBOT_SECRET }} + HARBOR_URL: ${{ vars.HARBOR_URL }} + run: docker login ${HARBOR_URL} -u ${HARBOR_USERNAME} -p ${HARBOR_PASSWORD} + - name: Build and push Docker images + env: + HARBOR_URL: ${{ vars.HARBOR_URL }} + TAG: ${{ github.sha }} + REPOSITORY: ${{ github.repository }} + run: | + ROOT_DIR=$(pwd) + IMAGE_NAME="${HARBOR_URL}/testing/$REPOSITORY:${TAG}" + echo "Building image: ${IMAGE_NAME}" + docker build -t ${IMAGE_NAME} . + echo "Pushing image: ${IMAGE_NAME}" + docker push ${IMAGE_NAME} + echo "Successfully pushed: ${IMAGE_NAME}" + docker rmi ${IMAGE_NAME} + echo "cleaned up local image" + diff --git a/.gitea/workflows/tag.yaml b/.gitea/workflows/tag.yaml index 1f70955..f82710a 100644 --- a/.gitea/workflows/tag.yaml +++ b/.gitea/workflows/tag.yaml @@ -1,34 +1,34 @@ -name: Docker Image CI -on: - push: - tags: - - '*' - -jobs: - build: - runs-on: gitea-official-runner - container: - image: harbor.merlin.xin/release/merlin/action_builder:v0.0.1 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: docker login - env: - HARBOR_USERNAME: ${{ secrets.HARBOR_ROBOT }} - HARBOR_PASSWORD: ${{ secrets.HARBOR_ROBOT_SECRET }} - HARBOR_URL: ${{ vars.HARBOR_URL }} - run: docker login ${HARBOR_URL} -u ${HARBOR_USERNAME} -p ${HARBOR_PASSWORD} - - name: Build and push Docker images - env: - HARBOR_URL: ${{ vars.HARBOR_URL }} - REPOSITORY: ${{ github.repository }} - run: | - ROOT_DIR=$(pwd) - IMAGE_NAME="${HARBOR_URL}/release/$REPOSITORY:$GITHUB_REF_NAME" - echo "Building image: ${IMAGE_NAME}" - docker build -t ${IMAGE_NAME} . - echo "Pushing image: ${IMAGE_NAME}" - docker push ${IMAGE_NAME} - echo "Successfully pushed: ${IMAGE_NAME}" - docker rmi ${IMAGE_NAME} - echo "cleaned up local image" +name: Docker Image CI +on: + push: + tags: + - '*' + +jobs: + build: + runs-on: gitea-runner-group-candlelight + container: + image: ${{ vars.HARBOR_URL }}/candlelight/action_builder:v0.0.1 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: docker login + env: + HARBOR_USERNAME: ${{ secrets.HARBOR_ROBOT }} + HARBOR_PASSWORD: ${{ secrets.HARBOR_ROBOT_SECRET }} + HARBOR_URL: ${{ vars.HARBOR_URL }} + run: docker login ${HARBOR_URL} -u ${HARBOR_USERNAME} -p ${HARBOR_PASSWORD} + - name: Build and push Docker images + env: + HARBOR_URL: ${{ vars.HARBOR_URL }} + REPOSITORY: ${{ github.repository }} + run: | + ROOT_DIR=$(pwd) + IMAGE_NAME="${HARBOR_URL}/$REPOSITORY:$GITHUB_REF_NAME" + echo "Building image: ${IMAGE_NAME}" + docker build -t ${IMAGE_NAME} . + echo "Pushing image: ${IMAGE_NAME}" + docker push ${IMAGE_NAME} + echo "Successfully pushed: ${IMAGE_NAME}" + docker rmi ${IMAGE_NAME} + echo "cleaned up local image" diff --git a/Dockerfile b/Dockerfile index 534d4c6..9b498fa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,27 @@ -FROM harbor.merlin.xin/mirrors/docker.io/alpine/k8s:1.30.4 - -ENV TZ=Asia/Shanghai \ - LANG=C.UTF-8 - -RUN apk add --no-cache nodejs git curl ca-certificates tar\ - && update-ca-certificates || true - -# Install helmfile (adjust version as needed) -RUN set -eux; \ - curl -fsSL -o /tmp/helmfile.tar.gz "https://github.com/helmfile/helmfile/releases/download/v1.1.9/helmfile_1.1.9_linux_amd64.tar.gz"; \ - mkdir -p /tmp/helmfile_extract; \ - tar -xzf /tmp/helmfile.tar.gz -C /tmp/helmfile_extract; \ - # find the helmfile binary and move it to /usr/local/bin - find /tmp/helmfile_extract -type f -name helmfile -exec mv {} /usr/local/bin/helmfile \; ; \ - chmod +x /usr/local/bin/helmfile; \ - rm -rf /tmp/helmfile.tar.gz /tmp/helmfile_extract - +FROM registry.merlin.xin/alpine/k8s:1.30.4 + +ENV TZ=Asia/Shanghai \ + LANG=C.UTF-8 + +RUN apk add --no-cache nodejs git curl ca-certificates tar\ + && update-ca-certificates || true + +# Install helmfile (adjust version as needed) +# RUN set -eux; \ +# curl -fsSL -o /tmp/helmfile.tar.gz "https://github.com/helmfile/helmfile/releases/download/v1.1.9/helmfile_1.1.9_linux_amd64.tar.gz"; \ +# mkdir -p /tmp/helmfile_extract; \ +# tar -xzf /tmp/helmfile.tar.gz -C /tmp/helmfile_extract; \ +# find the helmfile binary and move it to /usr/local/bin +# find /tmp/helmfile_extract -type f -name helmfile -exec mv {} /usr/local/bin/helmfile \; ; \ +# chmod +x /usr/local/bin/helmfile; \ +# rm -rf /tmp/helmfile.tar.gz /tmp/helmfile_extract + +# Copy the pre-downloaded helmfile tar.gz file to the image +COPY helmfile_1.1.9_linux_amd64.tar.gz /tmp/helmfile.tar.gz +RUN mkdir -p /tmp/helmfile_extract \ + && tar -xzf /tmp/helmfile.tar.gz -C /tmp/helmfile_extract \ + && find /tmp/helmfile_extract -type f -name helmfile -exec mv {} /usr/local/bin/helmfile \; \ + && chmod +x /usr/local/bin/helmfile \ + && rm -rf /tmp/helmfile.tar.gz /tmp/helmfile_extract + WORKDIR /workspace \ No newline at end of file diff --git a/README.md b/README.md index a6d3348..601b0f6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ -# action_dployer - -自己构建的action部署镜像,依赖chart包来部署应用到rke2集群 \ No newline at end of file +# action_dployer for gtea_action + +用作gitea_action部署应用到k8s集群 + +包含helm和helmfile \ No newline at end of file diff --git a/helmfile_1.1.9_linux_amd64.tar.gz b/helmfile_1.1.9_linux_amd64.tar.gz new file mode 100644 index 0000000..1827567 Binary files /dev/null and b/helmfile_1.1.9_linux_amd64.tar.gz differ