安装jenkins
方式一:在服务器先安装java环境,然后在安装jenkins
方法er:直接运行docker镜像,启动一个容器。
创建react
npx create-react-app react-jenkins-cicd
安装插件
- generic webhook trigger web触发器
配置的格式:http://[username]:[token]@ip:port/generic-webhook-trigger/invoke。
API token的添加:点击用户名 > 下拉 设置 > 添加api token > 点击生成11b30ee55a056f4a6b1bffc775ae943a7e
例如:http://admin:111717617345ce3d9d1f580a@47.96.0.230:8080/generic-webhook-trigger/invoke
- Publish Over SSH:通过ssh部署服务器
- NodeJs : 提供node环境
jenkins插件列表 http://updates.jenkins-ci.org/download/plugins/
Email Extension,最新版本存在问题,无法发送邮件,需要从仓库下载2.5.0。然后在插件的高级中手动安装
配置webhook
- 添加远程仓库地址,配置登录名、密码、分支
- 添加webhooks触发器
添加和测试钩子
添加构建脚本
设置构建环境,设置node版本
下一步选择构建,执行shell
echo $PATH
node --version
npm --version
npm install yarn -g
yarn
rm -rf build
yarn run build
cd build
tar -zcvf build.tar.gz *
生产服务器安装nginx
vi /etc/yun.repos.d/nginx.repo
[nginx]
name = nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
部署服务器
- Publish Over SSH
- 系统管理> 系统设置 找到 Publish Over SSH
- ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上,实现免密登录
发送邮箱失败
云服务器提供商默认会关闭stmp的端口25.如果需要发送邮件,则需要设置开放的安全策略。
腾讯云,解封25端口-https://cloud.tencent.com/document/product/213/40436