Node.js 是否已将文件更改为运行节点应用程序的远程服务器?此外,您的脚本解决方案可能必须分为两个脚本:一个脚本首先停止运行节点应用程序,然后Jenkins scp将源文件更改为远程服务器,第二个脚本运行其余命令。我是否需要在运行node app的远程服务器上设置gi
Node.js 是否已将文件更改为运行节点应用程序的远程服务器?此外,您的脚本解决方案可能必须分为两个脚本:一个脚本首先停止运行节点应用程序,然后Jenkins scp将源文件更改为远程服务器,第二个脚本运行其余命令。我是否需要在运行node app的远程服务器上设置gi,node.js,jenkins,deployment,gitlab,Node.js,Jenkins,Deployment,Gitlab,是否已将文件更改为运行节点应用程序的远程服务器?此外,您的脚本解决方案可能必须分为两个脚本:一个脚本首先停止运行节点应用程序,然后Jenkins scp将源文件更改为远程服务器,第二个脚本运行其余命令。我是否需要在运行node app的远程服务器上设置git repo并配置Jenkins以推送到它?@ace我在回答中提到了如何scp文件。scp适用于没有Jenkins或Git的远程服务器。 pipeline { agent any triggers { pollS
是否已将文件更改为运行节点应用程序的远程服务器?此外,您的脚本解决方案可能必须分为两个脚本:一个脚本首先停止运行节点应用程序,然后Jenkins scp将源文件更改为远程服务器,第二个脚本运行其余命令。我是否需要在运行node app的远程服务器上设置git repo并配置Jenkins以推送到它?@ace我在回答中提到了如何scp文件。scp适用于没有Jenkins或Git的远程服务器。
pipeline {
agent any
triggers {
pollSCM('* * * * *')
}
stages {
stage("deploy") {
steps {
sh "scp"
}
}
}
}
run these commands on remote server on which node app is running
cd ~/mynodeproj
pm2 stop mynodeproj
copy project source files from Jenkins server to remote server where
node app is running
npm install
export NODE_ENV=production
pm2 start mynodeproj
sh 'scp -r script user@server:/path/server'
sh 'ssh user@server /path/server/script'
$ tree .rocketeer/
.rocketeer/
├── config.php
├── hooks.php
├── logs
│ ├── develop--20170613.log
│ ├── develop--20170614.log
│ ├── develop--20170616.log
│ ├── staging--20180323.log
│ ├── staging--20180324.log
│ ├── staging--20180326.log
│ ├── production--20180223.log
│ ├── production--20180226.log
│ ├── production--20180227.log
│ ├── production--20180227.log
│ └── custom-environment--20180328.log
├── paths.php
├── remote.php
├── scm.php
├── stages.php
└── strategies.php
#!/bin/bash -el
cd $JENKINS_HOME/app-deploy/app-socketio
rocketeer deploy --on="develop"
'connections' => [
'develop' => [
'host' => '35.xx.xx.xx',
'username' => 'ec2-user',
'password' => '',
'key' => '/var/lib/jenkins/.ssh/foo.pem',
'keyphrase' => '',
'agent' => '',
'db_role' => true,
],
'staging' => [
'host' => '34.xx.xx.xx',
'username' => 'ec2-user',
'password' => '',
'key' => '/var/lib/jenkins/.ssh/bar.pem',
'keyphrase' => '',
'agent' => '',
'db_role' => true,
],
'production' => [
'host' => '18.xx.xx.xx:63612',
'username' => 'ec2-user',
'password' => '',
'key' => '/var/lib/jenkins/.ssh/woot.pem',
'keyphrase' => '',
'agent' => '',
'db_role' => true,
],
'custom-environment' => [
'host' => '13.xx.xx.xx:63612',
'username' => 'ec2-user',
'password' => '',
'key' => '/var/lib/jenkins/.ssh/test.pem',
'keyphrase' => '',
'agent' => '',
'db_role' => true,
],
],
'after' => [
'setup' => [],
'deploy' => [
"pm2 delete mynodeproj", //Delete old pm2 task
"pm2 start src/mynodeproj.js", //Start new mynodeproj
],
'cleanup' => [],
],