In the previous post, I guided how to deploy nextjs to centos. In this article, I will guide you to automatically build and deploy nextjs to the server using azure pipelines.
In this article, we will not introduce what Azure Pipelines or how to create new pipeline. If you are new, you can refer to here.
Add task SSH
I love to use the classic editor to create a pipeline without YAML.
1. Add Service connections
Click 1 "manage" to create ssh connection to the server.
2, 3. Add script
Select 2 "Inline Script" and paste the code below:
cd /var/www/html/your-source-code git checkout . git pull npm i npm run build pm2 restart yourapp
This means you point to the directory containing the source code, reset the changed files. Then pull back the latest source. Install npm and build source.
Then let pm2 update the build just created.
4. Prevent Fail on STDERR
If this option is selected, the build will fail when the remote commands or script write to STDERR.
Complete yaml file
- task: [email protected] displayName: "Run shell inline on remote machine" inputs: sshEndpoint: "your-ssh-endpoint" runOptions: inline inline: | cd /var/www/html/your-source-code git checkout . git pull npm i npm run build pm2 restart yourapp failOnStdErr: false
5. Auto run pipelines when merge develop
Select Triggers tab.
Check Enable continuous integration. Input Branch specification: develop
Tips: You can add task "Post to Slack" to notify when the build is complete.