1- name : Java CI/CD with Maven
1+ name : Java CI/CD with Docker Compose
22
33on :
44 push :
@@ -56,27 +56,36 @@ jobs:
5656 uses : actions/checkout@v2
5757
5858 - name : Set up SSH
59- uses : webfactory/ssh-agent@v0.5.3
59+ uses : webfactory/ssh-agent@v0.8.0
6060 with :
6161 ssh-private-key : ${{ secrets.SSH_PRIVATE_KEY }}
6262
63- - name : Add remote host to known_hosts
64- run : ssh-keyscan -H 5.39.249.253 >> ~/.ssh/known_hosts
63+ - name : Add known hosts
64+ run : |
65+ mkdir -p ~/.ssh
66+ echo "${{ secrets.SERVER_IP }} $(ssh-keyscan -H ${{ secrets.SERVER_IP }} 2>/dev/null)" >> ~/.ssh/known_hosts
6567
66- - name : Download build artifacts
67- uses : actions/download-artifact@v3
68- with :
69- name : build-artifacts
70- path : target/
71-
72- - name : List files before SCP
73- run : ls -la target/
74-
75- - name : Copy files via SCP
76- run :
scp -r target/ [email protected] :/root 77-
78- - name : Run deployment script
68+ - name : Deploy to server
7969 env :
8070 BOT_TOKEN : ${{ secrets.BOT_TOKEN }}
8171 GPT_TOKEN : ${{ secrets.GPT_TOKEN }}
82- run :
ssh [email protected] 'BOT_TOKEN=${{ secrets.BOT_TOKEN }} GPT_TOKEN=${{ secrets.GPT_TOKEN }} bash -s' < ./deploy.sh 72+ SERVER_IP : ${{ secrets.SERVER_IP }}
73+ SERVER_USER : ${{ secrets.SERVER_USER }}
74+ run : |
75+ ssh $SERVER_USER@$SERVER_IP << 'EOF'
76+ if [ -d "Automating-route-selection" ]; then
77+ cd Automating-route-selection
78+ git pull origin main
79+ else
80+ git clone https://github.com/Dema-koder/Automating-route-selection.git
81+ cd Automating-route-selection
82+ fi
83+
84+ # Создаем .env файл с секретами
85+ echo "BOT_TOKEN=$BOT_TOKEN" > .env
86+ echo "GPT_TOKEN=$GPT_TOKEN" >> .env
87+
88+ # Запускаем приложение
89+ docker-compose down
90+ docker-compose up -d --build
91+ EOF
0 commit comments