第一步 写好要推送到git远程的代码(可运行的index.js)
新建一个npm node项目,引入依赖:
"dependencies": {
"express": "^4.19.2"
}
在index.js写:
const express = require('express');
const app = express();
let github_router = require('./github_123_com/index')
app.use('/', github_router);
let port = 7777;
app.listen(port, () => {
console.log(`github-node-server app listening on port ${port}`)
})
在github_123_com/index.js写:
let express = require('express')
let router = express.Router()
// middleware that is specific to this router
router.use(function timeLog(req, res, next) {
console.log('Time: ', Date.now())
next()
})
let apiMount = require('./api');
apiMount(router);
module.exports = router
在api.js写:
module.exports = function apiMount(router) {
function setHeaders(res) {
res.setHeader("Access-Control-Allow-Origin", "https://github.123.com");
res.setHeader("Access-Control-Allow-Method", "*");
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
res.setHeader("Access-Control-Allow-Credentials", "true");
res.setHeader("Access-Control-Expose-Headers", "Authorization");
res.setHeader("Access-Control-Max-Age", "600");
}
apis.forEach(({regExp, method, getData}) => {
router[method.toLowerCase()](regExp, function (req, res) {
setHeaders(res);
res.send(getData());
});
});
};
然后commit这个提交!
第二步:在centos(Linux)安装Jenkins
1、首先安装Java的jdk(步骤如网上所说,jdk17或者21)
2、安装好nvm,然后使用nvm install node@20安装好node,node自带npm,
3、然后安装好pnpm:npm install -g pnpm
4、
5、在安装好jdk的基础上,安装Jenkins(参考juejin.cn/post/726192…
- 打开get.jenkins.io/ 选择Linux版本进去
- 下载get.jenkins.io/redhat-stab… 可以使用wget下载
- 执行安装命令:
rpm -ivh jenkins-2.452.3-1.1.noarch.rpm - 修改配置:
vi /usr/lib/systemd/system/jenkins.service - 为了方便,不考虑安全策略,使用以下配置
User=root
Group=root
Environment="JAVA_HOME=/usr/share/java /usr/local/jdk/openjdk-21"
Environment="JENKINS_PORT=28088"
- 重新加载
systemctl daemon-reload,启动服务:systemctl start jenkins
如果上面失败了,可以使用yum源安装:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
#或者
yum install --nogpgcheck jenkins
-
如果上面都失败了,直接下载war包:get.jenkins.io/war-stable/…
-
写一个脚本(给运行权限
chmod +x 脚本):
#启动脚本
export JENKINS_HOME=/usr/local/jenkins/
cd $JENKINS_HOME
nohup /usr/local/jdk/jdk-21/bin/java -jar jenkins.war --httpPort=28080 >console 2>&1 &
启动成功(看日志):
第三步:使用vscode转发端口到本地电脑,配置Jenkins
配置这一步可以参考:juejin.cn/post/726192…
全部选空白不安装
安装gitee插件:plugins.jenkins.io/gitee/
然后直接创建Jenkins项目:
可以参考:front-end.toimc.com/notes-page/…
最后在Jenkins每次被webhook触发后执行以下:
echo 123
who am i
node -v
npm -v
pnpm -v
pwd
pnpm install
pm2 stop ./index.js
pm2 start ./index.js
echo '成功'
因为这个是运行在内部端口,最后还需要配置nginx反向代理才可以访问到。