安装jenkins

方式一:在服务器先安装java环境,然后在安装jenkins
方法er:直接运行docker镜像,启动一个容器。

创建react

  1. npx create-react-app react-jenkins-cicd

然后上传gitee仓库

安装插件

  • 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。然后在插件的高级中手动安装
image.png

配置webhook

  • 添加远程仓库地址,配置登录名、密码、分支

image.png

  • 添加webhooks触发器

image.png

  • 添加和测试钩子


添加构建脚本

设置构建环境,设置node版本
image.png
下一步选择构建,执行shell
image.png

  1. echo $PATH
  2. node --version
  3. npm --version
  4. npm install yarn -g
  5. yarn
  6. rm -rf build
  7. yarn run build
  8. cd build
  9. tar -zcvf build.tar.gz *

生产服务器安装nginx

vi /etc/yun.repos.d/nginx.repo

  1. [nginx]
  2. name = nginx repo
  3. baseurl=http://nginx.org/packages/centos/7/$basearch/
  4. gpgcheck=0
  5. enabled=1

yum install nginx -y

部署服务器

  • Publish Over SSH
  • 系统管理> 系统设置 找到 Publish Over SSH
  • ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上,实现免密登录

发送邮箱失败

云服务器提供商默认会关闭stmp的端口25.如果需要发送邮件,则需要设置开放的安全策略。
腾讯云,解封25端口-https://cloud.tencent.com/document/product/213/40436