test new CI pipeline workflow in the org repo, with a bunch of ENV vars
This commit is contained in:
@@ -1,46 +0,0 @@
|
||||
#
|
||||
# Add secrets of Remote Git Repository Panel:
|
||||
# - ${{ secrets.DOCKER_REGISTRY_PASSWORD }}: password corresponding to the Docker Registry username
|
||||
|
||||
# Add variables of Remote Git Repository Panel:
|
||||
# - ${{ vars.DOCKER_REGISTRY_ADDRESS }}: the address for Docker Registry
|
||||
# - ${{ vars.DOCKER_REGISTRY_USERNAME }}: the username for Docker Registry
|
||||
# - ${{ vars.K8S_NAMESPACE }}: the namespace defined in Helm Chart
|
||||
# - ${{ vars.K8S_DEPLOYMENT_NAME}}: the Deployment to rolled out restart after pushing artifact to Docker Registry
|
||||
|
||||
name: Deploy DevStar Studio PoC (Proof of Concept)
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build-and-push-x86-64-docker-image:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 🔍 Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: master
|
||||
- name: 🔧 Test Codes and Build an Artifact
|
||||
run: |
|
||||
echo "Prepare to build repository code ${{ gitea.repository }}:${{ gitea.ref }}."
|
||||
make docker
|
||||
- name: 🚀 Push Artifact to Docker Registry
|
||||
run: |
|
||||
docker tag devstar-studio:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REGISTRY_USERNAME }}/devstar-studio-preview:latest-rootless
|
||||
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ vars.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin
|
||||
docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REGISTRY_USERNAME }}/devstar-studio-preview:latest-rootless
|
||||
|
||||
if [ "$(docker volume ls -qf dangling=true)" ]; then
|
||||
docker volume rm $(docker volume ls -qf dangling=true)
|
||||
echo "Dangling docker volumes deleted."
|
||||
fi
|
||||
- name: 🔧 Roll out Update on Kubernetes
|
||||
run: |
|
||||
echo "Please manually execute: kubectl rollout restart deployment -n ${{ vars.K8S_NAMESPACE }} ${{ vars.K8S_DEPLOYMENT_NAME}}"
|
||||
- name: 🍏 Job Status Report
|
||||
run: echo "🍏 This job's status is ${{ job.status }}."
|
||||
62
.gitea/workflows/devstar-studio-ci.yaml
Normal file
62
.gitea/workflows/devstar-studio-ci.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
#
|
||||
# Add secrets of Remote Git Repository Panel:
|
||||
# - ${{ secrets.DOCKER_REGISTRY_USERNAME }}: username of Docker Registry
|
||||
# - ${{ secrets.DOCKER_REGISTRY_PASSWORD }}: password corresponding to the Docker Registry username
|
||||
|
||||
# Add variables of Remote Git Repository Panel:
|
||||
# - ${{ vars.DOCKER_REGISTRY_ADDRESS }}: the address for Docker Registry
|
||||
# - ${{ vars.DOCKER_REPOSITORY_ARTIFACT}}: the artifact $name:$version, e.g., `devstar/devstar-studio:latest-rootless`
|
||||
# - ${{ vars.K8S_NAMESPACE }}: the namespace defined in Helm Chart
|
||||
# - ${{ vars.K8S_DEPLOYMENT_NAME}}: the Deployment to rolled out restart after pushing artifact to Docker Registry
|
||||
|
||||
name: DevStar Studio CI Pipeline
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- dev
|
||||
- dev-proof-of-concept
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build-and-push-x86-64-docker-image:
|
||||
# TODO: 使用私有 registry 绕过默认 docker.io
|
||||
runs-on: ubuntu-latest # Actual image: docker.io/library/gitea/runner_image:ubuntu-latest
|
||||
steps:
|
||||
- name: 🔍 Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: master
|
||||
- name: 🔧 Test Codes and Build an Artifact
|
||||
run: |
|
||||
echo "Prepare to build repository code ${{ gitea.repository }}:${{ gitea.ref }}."
|
||||
make docker
|
||||
- name: 🚀 Push Artifact to Docker Registry
|
||||
run: |
|
||||
docker tag devstar-studio:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT }}
|
||||
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin
|
||||
docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT }}
|
||||
- name: 🔧 Roll out Update on Kubernetes
|
||||
run: |
|
||||
echo "Please manually execute: kubectl rollout restart deployment -n ${{ vars.K8S_NAMESPACE }} ${{ vars.K8S_DEPLOYMENT_NAME}}"
|
||||
- name: 🍏 Job Status Report
|
||||
run: echo "🍏 This job's status is ${{ job.status }}."
|
||||
|
||||
|
||||
#
|
||||
# P.S.:
|
||||
################################################################################
|
||||
# 1. How to config runner:
|
||||
# $ docker run \
|
||||
# --name gitea-act-runner-repo-devstar-studio \
|
||||
# -d \
|
||||
# -e GITEA_INSTANCE_URL=https://www.mengning.net \
|
||||
# -e GITEA_RUNNER_REGISTRATION_TOKEN=${YOUR_GITEA_RUNNER_REGISTRATION_TOKEN} \
|
||||
# -v /var/run/docker.sock:/var/run/docker.sock \
|
||||
# gitea/act_runner:latest
|
||||
#
|
||||
# 2. To clean the docker cache:
|
||||
# $ docker builder prune --force
|
||||
# $ if [ "$(docker volume ls -qf dangling=true)" ]; then docker volume rm $(docker volume ls -qf dangling=true); fi
|
||||
#
|
||||
@@ -1,8 +1,8 @@
|
||||
ARG DOCKER_REGISTRY_ADDRESS="www.mengning.net"
|
||||
ARG DOCKER_REGISTRY_USERNAME="daimingchen"
|
||||
ARG DOCKER_REGISTRY_USERNAME="devstar"
|
||||
|
||||
ARG DEV_CONTAINER="gitea-devstar-dev-container:v1.0"
|
||||
ARG RUNTIME_CONTAINER="gitea-devstar-runtime-container:v1.0"
|
||||
ARG DEV_CONTAINER="gitea-dev-container:v1.0"
|
||||
ARG RUNTIME_CONTAINER="gitea-runtime-container:v1.0"
|
||||
|
||||
|
||||
###########################################################
|
||||
|
||||
Reference in New Issue
Block a user