阿里云CentOS配置Jenkins

1. 下载jenkins

#下载Jenkins库
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
#导入key
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
#安装Jenkins,`-y`参数:回答全部问题为是
yum install -y jenkins
#启动Jenkins服务
systemctl start jenkins   或者   service jenkins start

jenkins的安装地址: /var/lib/jenkins/
Jenkins目录、端口、工作目录等信息在: /etc/sysconfig/jenkins

注意:

  • 要安装java
yum install java-1.8.0-openjdk
  • 阿里云的安全组规则,千万要记得把阿里云的安全组规则里加上自己要访问的端口
  • 防火墙问题
cat   /var/log/jenkins/jenkins.log #查看安装日志安装没有问题
firewall-cmd --add-port=8080/tcp #将设置的端口防火墙关闭

2. 配置jenkis的端口

vi /etc/sysconfig/jenkins
找到修改端口号:
JENKINS_PORT="8080"  此端口不冲突可以不修改 

3. 启动jenkins

service jenkins start/stop/restart

4. 生成Personal Access Token

进入github --> setting -->developers--> Personal Access Token --> Generate new token, 新建一个有读写权限的用户

新增一个描述,勾选如图配置,点击生成对应的 token

5. 设置GitHub Webhooks

新建或者设置现有项目的webhooks选项,url:你之前部署jenkins的服务器的IP+端口+ github-webhook,填写完成确认添加。

6. 设置Jenkins的全局Github配置

jenkins 安装Github Plugin插件,因为我们在配置jenkins的时候已经安装了所以这里可跳过, 如果没有 key 在jenkins 系统管理-->插件管理-->可选插件中安装。
jenkins 系统管理 --> 系统设置 --> GitHub --> Add GitHub Sever,设置一下jenkins关联 GitHub。
注意:这里需要使用上面生成的令牌,使用用户名和密码不起作用,设置后选项内不会出现,已经验证过。

按照如下图选择添加配置,这个时候就需要用到了我们第一步生成的 GitHub Personal Access Token,填写完毕确认添加

选择生成的凭证,测试jenkins连接github服务器,如下图说明一切都配置 ok,最后记得在页面底部保存配置

7. jenkins的项目配置

  • jenkins 新建项目,选择构建自由风格项目
  • 完成之后的页面如下,后面我们做关于项目的配置设置都是基于这样页面(后面可以在项目=>配置中找到这个页面)
  • 填写GitHub 项目URL
  • 源码管理这里连接存储库可能会报错,首先检查服务器上是否安装了git,如果没安装需要安装上,应该可以解决问题,至少我遇到的是这样的。权限用户配置可以使用SSH,也可以HTTP登录名和密码的形式。



8.构建

构建的时候注意看下自己nginx上存放静态资源的地址是否和shell命令中的一致,如果不一致需要改正。

echo $PATH  #输出环境变量,可以不要
node -v  #输出node版本 ,可以不要
npm -v #输出npm版本,可以不要
cd /var/lib/jenkins/workspace/data-search  #cd到项目目录
rm -rf node_modules/  #删除旧依赖
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
npm install
npm run build
cd dist
tar -zcvf dist.tar.gz *  #将dist包压缩


cd /usr/share/nginx/html #进入远程服务器的目录
shopt -s extglob #开启extglob模式,开启之后Shell可以另外识别出5个模式匹配操作符
rm -fr !(oraitStatic) #删除除了oraitStatic外的所有其他文件 
shopt -u extglob #关闭extglob模式
scp /var/lib/jenkins/workspace/data-search/dist/dist.tar.gz /usr/share/nginx/html  #把包发送到指定服务器目录
tar -zxvf dist.tar.gz #解压dist文件到当前文件夹
rm -rf dist.tar.gz #删除dist文件

应用,保存,ok。