--- # generic name: 'Build and Publish' on: push: branches: - 'main' # jobs jobs: # build container Build: runs-on: 'ubuntu-latest' steps: # checkout code - name: 'Clone repo' uses: 'actions/checkout@v2' # login to cr.simoncor.net - name: 'Login to cr.simoncor.net' uses: 'docker/login-action@v2' with: registry: 'cr.simoncor.net' username: ${{ vars.REGISTER_USERNAME }} password: ${{ vars.REGISTER_PASSWORD }} # build and publish container - name: 'Build and Publish' uses: 'docker/build-push-action@v3' with: context: '.' file: 'Dockerfile.linux.amd64' push: true tags: 'cr.simoncor.net/siempie/simoncor-net:latest' cache-from: 'type=local,src=/tmp/.buildx-cache' cache-to: 'type=local,dest=/tmp/.buildx-cache-new,mode=max' # move cache - temp fix # https://github.com/docker/build-push-action/issues/252 # https://github.com/moby/buildkit/issues/1896 - name: Move cache run: | rm -rf /tmp/.buildx-cache mv /tmp/.buildx-cache-new /tmp/.buildx-cache # ansible deployment Deployment: runs-on: 'ubuntu-latest' needs: "Build" steps: # name: Build - name: 'Ansible deployment' uses: 'appleboy/ssh-action@v1.0.3' with: # bastion proxy_host: 'bastion.siempie.com' proxy_port: '22' proxy_username: ${{ secrets.USERNAME }} proxy_key: ${{ secrets.SSHKEY }} # ansible management host: 'ansible.siempie.internal' port: '22' username: ${{ secrets.USERNAME }} key: ${{ secrets.SSHKEY }} # command script: | sudo /usr/local/bin/ansible-playbook /etc/ansible/playbooks/production/www.yaml