Deploy staging #144
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy staging | |
concurrency: | |
group: stage_deploy | |
cancel-in-progress: true | |
on: | |
workflow_run: | |
workflows: [Publish staging Docker image] | |
types: [completed] | |
env: | |
DEPLOY_PATH: /LUBIMOVKA | |
jobs: | |
deployment: | |
name: Deployment | |
runs-on: ubuntu-latest | |
environment: stage_deploy | |
steps: | |
- name: Check out the repo | |
uses: actions/checkout@v3 | |
with: | |
ref: develop | |
- name: Create SSH key | |
run: | | |
mkdir -p ~/.ssh | |
chmod 700 ~/.ssh | |
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts | |
chmod 644 ~/.ssh/known_hosts | |
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa | |
chmod 600 ~/.ssh/id_rsa | |
- name: Create application directory | |
run: ssh ${{ secrets.USERNAME }}@${{ secrets.HOST }} mkdir -p ${{ env.DEPLOY_PATH }} | |
- name: Copy configuration | |
run: scp -r config/docker/staging/* ${{ secrets.USERNAME }}@${{ secrets.HOST }}:${{ env.DEPLOY_PATH }}/stage | |
- name: Execute remote ssh commands | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.HOST }} | |
username: ${{ secrets.USERNAME }} | |
key: ${{ secrets.SSH_PRIVATE_KEY }} | |
passphrase: ${{ secrets.PASSPHRASE }} | |
script: | | |
cd ${{ env.DEPLOY_PATH }}/stage/ | |
# Используем переменные окружения, сохраненные от CI/CD backend | |
# Создание сети вынесено отдельно для возможности независимо перезапускать контейнеры (через external networks) | |
docker network create stage_swag_network || true | |
systemctl daemon-reload | |
systemctl restart lubimovka-frontend.service |