File tree Expand file tree Collapse file tree 1 file changed +22
-4
lines changed
Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Original file line number Diff line number Diff line change 1919 mkdir -p ~/.ssh
2020 echo "$EC2_SSH_KEY" > ~/.ssh/id_rsa
2121 chmod 600 ~/.ssh/id_rsa
22+ ssh-keyscan -H $EC2_HOST >> ~/.ssh/known_hosts
2223
2324 cat >>~/.ssh/config <<END
2425 Host ec2
@@ -31,10 +32,10 @@ jobs:
3132 EC2_HOST : ${{ secrets.EC2_HOST }}
3233 EC2_SSH_KEY : ${{ secrets.EC2_SSH_KEY }}
3334
34- - name : Copy code to EC2
35+ - name : Copy code to EC2 (using rsync)
3536 run : |
3637 ssh ec2 "sudo mkdir -p /opt/app && sudo chown ubuntu:ubuntu /opt/app"
37- scp -r ./ ec2:/opt/app
38+ rsync -avz --delete -e "ssh" ./ ec2:/opt/app
3839
3940 - name : Create .env file
4041 run : |
4546 - name : Install dependencies
4647 run : ssh ec2 "cd /opt/app && npm install"
4748
48- - name : Restart systemd service
49- run : ssh ec2 "sudo systemctl restart app"
49+ - name : Create systemd service
50+ run : |
51+ ssh ec2 "echo '[Unit]
52+ Description=Node.js App
53+ After=network.target
54+
55+ [Service]
56+ User=ubuntu
57+ ExecStart=/usr/bin/npm run start --prefix /opt/app/
58+ Restart=always
59+
60+ [Install]
61+ WantedBy=multi-user.target' | sudo tee /etc/systemd/system/app.service"
62+
63+ - name : Enable & Restart systemd service
64+ run : |
65+ ssh ec2 "sudo systemctl daemon-reload"
66+ ssh ec2 "sudo systemctl enable app"
67+ ssh ec2 "sudo systemctl restart app"
You can’t perform that action at this time.
0 commit comments