From 2a978615288dba7dffc91f5a34a967a0be6e6fae Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Thu, 8 Jun 2023 16:49:44 +0800 Subject: [PATCH] add .github/workflows/setup-gitlab-demo.yml --- .github/workflows/setup-gitlab-demo.yml | 133 ++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 .github/workflows/setup-gitlab-demo.yml diff --git a/.github/workflows/setup-gitlab-demo.yml b/.github/workflows/setup-gitlab-demo.yml new file mode 100644 index 00000000..d410b02f --- /dev/null +++ b/.github/workflows/setup-gitlab-demo.yml @@ -0,0 +1,133 @@ +name: Setup Gitlab Demo in k3s + +on: + pull_request: + push: + paths: + - '.github/workflows/setup-gitlab-demo.yml' + workflow_dispatch: + branches: [ 'main' ] + +env: + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + AWS_AK: ${{ secrets.AWS_ACCESS_KEY }} + AWS_SK: ${{ secrets.AWS_SECRET_KEY }} + ALI_AK: ${{ secrets.ALI_AK }} + ALI_SK: ${{ secrets.ALI_SK }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} + SMTP_PASSWORD: ${{ secrets.SMTP_PASSWORD }} + GITLAB_OIDC_CLIENT_TOKEN: ${{ secrets.GITLAB_OIDC_CLIENT_TOKEN }} + +defaults: + run: + working-directory: ./playbook + +jobs: + setup-gcp-hk-k3s: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup K3S Cluster + shell: bash + run: | + export ANSIBLE_HOST_KEY_CHECKING=False + sudo apt install jq ansible -y + + mkdir -pv ~/.ssh/ + cat > ~/.ssh/id_rsa << EOF + ${SSH_PRIVATE_KEY} + EOF + sudo chmod 0400 ~/.ssh/id_rsa + md5sum ~/.ssh/id_rsa + + mkdir -pv hosts/ + cat > hosts/inventory << EOF + [master] + artifact ansible_host=34.96.156.183 + + [all:vars] + ansible_port=22 + ansible_ssh_user=root + ansible_ssh_private_key_file=~/.ssh/id_rsa + ansible_host_key_checking=False + dns_ak=$DNS_AK + dns_sk=$DNS_SK + ingress_ip=34.96.156.183 + EOF + ansible-playbook -i hosts/inventory jobs/init_k3s_cluster_artifact -D + Setup-Gitlab-In-K3S: + runs-on: ubuntu-latest + needs: + - setup-gcp-hk-k3s + + steps: + - uses: actions/checkout@v3 + + - name: Setup Habor in K3S + shell: bash + run: | + export ANSIBLE_HOST_KEY_CHECKING=False + sudo apt install jq ansible -y + + mkdir -pv ~/.ssh/ + cat > ~/.ssh/id_rsa << EOF + ${SSH_PRIVATE_KEY} + EOF + sudo chmod 0400 ~/.ssh/id_rsa + md5sum ~/.ssh/id_rsa + + mkdir -pv hosts/ + cat > hosts/inventory << EOF + [master] + artifact ansible_host=34.96.156.183 + + [all:vars] + ansible_port=22 + ansible_ssh_user=root + ansible_ssh_private_key_file=~/.ssh/id_rsa + ansible_host_key_checking=False + dns_ak=$DNS_AK + dns_sk=$DNS_SK + ali_ak=$ALI_AK + ali_sk=$ALI_SK + admin_password=$ADMIN_INIT_PASSWORD + harbor_odic_client_token=$HARBOR_OIDC_CLIENT_TOKEN + EOF + ansible-playbook -i hosts/inventory jobs/init_gitlab -D + Setup-Agent-In-K3S: + runs-on: ubuntu-latest + needs: + - setup-gcp-hk-k3s + + steps: + - uses: actions/checkout@v3 + + - name: Setup APP for K3S + shell: bash + run: | + export ANSIBLE_HOST_KEY_CHECKING=False + sudo apt install jq ansible -y + + mkdir -pv ~/.ssh/ + cat > ~/.ssh/id_rsa << EOF + ${SSH_PRIVATE_KEY} + EOF + sudo chmod 0400 ~/.ssh/id_rsa + md5sum ~/.ssh/id_rsa + + mkdir -pv hosts/ + cat > hosts/inventory << EOF + [master] + artifact ansible_host=34.96.156.183 + + [all:vars] + ansible_port=22 + ansible_ssh_user=root + ansible_ssh_private_key_file=~/.ssh/id_rsa + ansible_host_key_checking=False + EOF + ansible-playbook -i hosts/inventory jobs/init_observability-agent -D -C