How to use Jenkins to deploy a Node.JS backend project?
-
Checkout code
-
Set correct config file
-
Scp to the remote machine
-
Run deploy.sh on the remote machine by ssh
- docker-compose build --no-cache
- docker-compose down
- docker-compose up -d
sshPublisher setup
- Manage Jenkins -> Config System
- Find Publish over SSH
- Add New Server, test connection
- Write directive in Jenkins file
sshPublisher(
continueOnError: false, failOnError: true,
publishers: [
sshPublisherDesc(
configName: "yt-files-${BRANCH}",
verbose: true,
transfers: [
sshTransfer(
sourceFiles: "**/**",
remoteDirectory: "./publish/${BRANCH}",
removePrefix: '',
remoteDirectorySDF: false,
cleanRemote: true,
execCommand: "cd ./publish/${BRANCH} && bash deploy.sh ${BRANCH}"
)
])
]
)
要在Jenkins中新增对一个仓库的发布,需要以下步骤
-
创建流水线, 添加Git仓库,Credentials
-
为各分支添加必要的配置文件(不方便加入版本控制的机密信息)
-
写 Jenkinsfile