@@ -2,72 +2,74 @@ name: Build and Push Docker Image
2
2
3
3
# when to run the workflow
4
4
on :
5
- push :
6
- branches : [main]
5
+ push :
6
+ branches : [main]
7
7
8
8
# the jobs to run
9
9
jobs :
10
- build :
11
- # the os to run the job on
12
- runs-on : ubuntu-latest
13
- steps :
14
- - name : Checkout code
15
- uses : actions/checkout@v4
10
+ build :
11
+ # the os to run the job on
12
+ runs-on : ubuntu-latest
13
+ steps :
14
+ - name : Checkout code
15
+ uses : actions/checkout@v4
16
16
17
- # build the image now
18
- - name : Build Docker image
19
- run : docker compose --env-file variables_tsspredator.env build
17
+ # build the image now
18
+ - name : Build Docker image
19
+ run : docker compose --env-file variables_tsspredator.env build
20
20
21
- - name : save images
22
- run : |
23
- docker save tsspredator_web:latest | gzip > image_tsspredator_web.tar.gz
24
- docker save tsspredator_celery_app:latest | gzip > image_tsspredator_celery_app.tar.gz
21
+ - name : save images
22
+ run : |
23
+ docker save tsspredator_web:latest | gzip > image_tsspredator_web.tar.gz
24
+ docker save tsspredator_celery_app:latest | gzip > image_tsspredator_celery_app.tar.gz
25
25
26
- - name : Install SSH client
27
- run : sudo apt-get install -qq -y openssh-client
26
+ - name : Install SSH client
27
+ run : sudo apt-get install -qq -y openssh-client
28
28
29
- - name : Transfer Docker images to server
30
- env :
31
- SSH_PRIVATE_KEY : ${{secrets.SSH_PRIVATE_KEY}}
32
- SSH_CONFIG : ${{secrets.SSH_CONFIG}}
33
- SERVER_IP : ${{secrets.SERVER_IP}}
34
- KNOWN_HOSTS : ${{secrets.KNOWN_HOSTS}}
35
- TARGET : ${{secrets.TARGET}}
36
- DEPLOY_FILE : ${{secrets.DEPLOY_FILE}}
37
- DEPLOY_FILE_NAME : ${{secrets.DEPLOY_FILE_NAME}}
38
- ENV_FILE : ${{secrets.ENV_FILE}}
39
- ENV_FILE_NAME : ${{secrets.ENV_FILE_NAME}}
40
- run : |
41
- mkdir -p ~/.ssh && chmod 700 ~/.ssh
42
- echo "$SSH_CONFIG" > ~/.ssh/config
43
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/github-actions
44
- echo "$KNOWN_HOSTS" > ~/.ssh/known_hosts
45
- chmod 600 ~/.ssh/config
46
- chmod 600 ~/.ssh/github-actions
47
- chmod 600 ~/.ssh/known_hosts
48
- echo "$DEPLOY_FILE" > $DEPLOY_FILE_NAME
49
- echo "$ENV_FILE" > variables_tsspredator.env
50
- scp -o UserKnownHostsFile=~/.ssh/known_hosts image_tsspredator_web.tar.gz $SERVER_IP:$TARGET
51
- scp -o UserKnownHostsFile=~/.ssh/known_hosts image_tsspredator_celery_app.tar.gz $SERVER_IP:$TARGET
52
- scp -o UserKnownHostsFile=~/.ssh/known_hosts docker-compose.yml $SERVER_IP:$TARGET
53
- scp -o UserKnownHostsFile=~/.ssh/known_hosts $ENV_FILE_NAME $SERVER_IP:$TARGET
54
- scp -o UserKnownHostsFile=~/.ssh/known_hosts $DEPLOY_FILE_NAME $SERVER_IP:$TARGET
55
- - name : Restart service
56
- env :
57
- SSH_PRIVATE_KEY : ${{secrets.SSH_PRIVATE_KEY}}
58
- SSH_CONFIG : ${{secrets.SSH_CONFIG}}
59
- SERVER_IP : ${{secrets.SERVER_IP}}
60
- KNOWN_HOSTS : ${{secrets.KNOWN_HOSTS}}
61
- TARGET : ${{secrets.TARGET}}
62
- UPDATE_CMDS : ${{secrets.UPDATE_CMDS}}
63
- run : |
64
- mkdir -p ~/.ssh && chmod 700 ~/.ssh
65
- echo "$SSH_CONFIG" > ~/.ssh/config
66
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/github-actions
67
- echo "$KNOWN_HOSTS" > ~/.ssh/known_hosts
68
- chmod 600 ~/.ssh/config
69
- chmod 600 ~/.ssh/github-actions
70
- chmod 600 ~/.ssh/known_hosts
71
- ssh -t -o UserKnownHostsFile=~/.ssh/known_hosts $SERVER_IP "cd $TARGET; chmod +x $UPDATE_CMDS; $UPDATE_CMDS"
29
+ - name : Transfer Docker images to server
30
+ env :
31
+ SSH_PRIVATE_KEY : ${{secrets.SSH_PRIVATE_KEY}}
32
+ SSH_CONFIG : ${{secrets.SSH_CONFIG}}
33
+ SERVER_IP : ${{secrets.SERVER_IP}}
34
+ KNOWN_HOSTS : ${{secrets.KNOWN_HOSTS}}
35
+ TARGET : ${{secrets.TARGET}}
36
+ DEPLOY_FILE : ${{secrets.DEPLOY_FILE}}
37
+ DEPLOY_FILE_NAME : ${{secrets.DEPLOY_FILE_NAME}}
38
+ ENV_FILE : ${{secrets.ENV_FILE}}
39
+ ENV_FILE_NAME : ${{secrets.ENV_FILE_NAME}}
40
+ REDIS_CONFIG_FILE : ${{secrets.REDIS_CONFIG_FILE}}
72
41
73
-
42
+ run : |
43
+ mkdir -p ~/.ssh && chmod 700 ~/.ssh
44
+ echo "$SSH_CONFIG" > ~/.ssh/config
45
+ echo "$SSH_PRIVATE_KEY" > ~/.ssh/github-actions
46
+ echo "$KNOWN_HOSTS" > ~/.ssh/known_hosts
47
+ chmod 600 ~/.ssh/config
48
+ chmod 600 ~/.ssh/github-actions
49
+ chmod 600 ~/.ssh/known_hosts
50
+ echo "$DEPLOY_FILE" > $DEPLOY_FILE_NAME
51
+ echo "$ENV_FILE" > variables_tsspredator.env
52
+ echo "$REDIS_CONFIG_FILE" > redis.config
53
+ scp -o UserKnownHostsFile=~/.ssh/known_hosts image_tsspredator_web.tar.gz $SERVER_IP:$TARGET
54
+ scp -o UserKnownHostsFile=~/.ssh/known_hosts image_tsspredator_celery_app.tar.gz $SERVER_IP:$TARGET
55
+ scp -o UserKnownHostsFile=~/.ssh/known_hosts docker-compose.yml $SERVER_IP:$TARGET
56
+ scp -o UserKnownHostsFile=~/.ssh/known_hosts $ENV_FILE_NAME $SERVER_IP:$TARGET
57
+ scp -o UserKnownHostsFile=~/.ssh/known_hosts redis.config $SERVER_IP:$TARGET
58
+ scp -o UserKnownHostsFile=~/.ssh/known_hosts $DEPLOY_FILE_NAME $SERVER_IP:$TARGET
59
+ - name : Restart service
60
+ env :
61
+ SSH_PRIVATE_KEY : ${{secrets.SSH_PRIVATE_KEY}}
62
+ SSH_CONFIG : ${{secrets.SSH_CONFIG}}
63
+ SERVER_IP : ${{secrets.SERVER_IP}}
64
+ KNOWN_HOSTS : ${{secrets.KNOWN_HOSTS}}
65
+ TARGET : ${{secrets.TARGET}}
66
+ UPDATE_CMDS : ${{secrets.UPDATE_CMDS}}
67
+ run : |
68
+ mkdir -p ~/.ssh && chmod 700 ~/.ssh
69
+ echo "$SSH_CONFIG" > ~/.ssh/config
70
+ echo "$SSH_PRIVATE_KEY" > ~/.ssh/github-actions
71
+ echo "$KNOWN_HOSTS" > ~/.ssh/known_hosts
72
+ chmod 600 ~/.ssh/config
73
+ chmod 600 ~/.ssh/github-actions
74
+ chmod 600 ~/.ssh/known_hosts
75
+ ssh -t -o UserKnownHostsFile=~/.ssh/known_hosts $SERVER_IP "cd $TARGET; chmod +x $UPDATE_CMDS; $UPDATE_CMDS"
0 commit comments