From fc9bd26781fb7b9d6c28ca97f7fcdaa07b8a8702 Mon Sep 17 00:00:00 2001 From: Roman Khabarov Date: Tue, 28 May 2024 12:15:22 +0200 Subject: [PATCH] chore: deploy --- .github/workflows/deploy-k8s.yml | 53 ++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/deploy-k8s.yml diff --git a/.github/workflows/deploy-k8s.yml b/.github/workflows/deploy-k8s.yml new file mode 100644 index 0000000..a87434a --- /dev/null +++ b/.github/workflows/deploy-k8s.yml @@ -0,0 +1,53 @@ +name: Deploy + +on: + push: + branches: + - master + +jobs: + deploy: + runs-on: ubuntu-latest + env: + NAMESPACE: globalart-prod + HARBOR_PROJECT: gitlab-prod + HARBOR_USERNAME: ${{ secrets.HARBOR_USERNAME }} + HARBOR_PASSWORD: ${{ secrets.HARBOR_PASSWORD }} + HARBOR_HOST: ${{ secrets.HARBOR_HOST }} + KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Setup kubectl + uses: azure/setup-kubectl@v1 + + - name: Setup helm + uses: azure/setup-helm@v1 + + - name: Copy kubeconfig + run: | + mkdir -p ~/.kube + echo "$KUBE_CONFIG" > ~/.kube/config + + - name: Setup trdl and werf + run: | + mkdir -p ~/.local/bin + export PATH=$HOME/.local/bin:$PATH + curl -L https://tuf.trdl.dev/trdl.sh | sh + source $HOME/.local/bin/trdl use werf "1.2" "stable" + source $(werf ci-env github --as-file) + + - name: Login to Harbor + run: "werf cr login -u $HARBOR_USERNAME -p $HARBOR_PASSWORD $HARBOR_HOST" + - name: Deploy with werf + run: | + werf converge --namespace=$NAMESPACE \ + --env prod \ + --kube-config=~/.kube/config \ + --skip-tls-verify-registry=true \ + --repo-container-registry=harbor \ + --repo=$HARBOR_HOST/${HARBOR_PROJECT}/$GITHUB_REPOSITORY \ + --repo-harbor-username=$HARBOR_USERNAME \ + --repo-harbor-password=$HARBOR_PASSWORD \ + --atomic=true