name: Deploy Ham Training Repo on: workflow_dispatch: env: REGISTRY: ${{ vars.CONTAINER_REGISTRY }} REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }} REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}/${{ vars.CONTAINER_IMAGE_NAME }}:latest jobs: build-deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Login to Docker Registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ env.REGISTRY_USERNAME }} password: ${{ env.REGISTRY_PASSWORD }} - name: Setup Docker Buildx uses: docker/setup-buildx-action@v2 with: config-inline: | [registry."${{ env.REGISTRY }}"] ca=["/etc/ssl/certs/ca-certificates.crt"] - name: Build and Push Docker Image uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64 tags: ${{ env.CONTAINER_IMAGE_NAME }} push: true - name: Remote Deploy uses: appleboy/ssh-action@v1.2.1 with: host: ${{ vars.SSH_DEPLOY_HOST }} port: ${{ vars.SSH_DEPLOY_PORT }} username: ${{ secrets.SSH_DEPLOY_USER }} password: ${{ secrets.SSH_DEPLOY_PASSWORD }} script: eval "${{ secrets.SSH_DEPLOY_CMD }}"