飞雪连天射白鹿,笑书神侠倚碧鸳

0%

和我一起搭建Jenkins

自动化部署工具,释放部署流程

运维工具?不存在的,作为开发什么都得了解,之前公司手动部署流程可太麻烦了,不同项目不同流程手动处理,小本本都记不下了

本篇是centos搭建Jenkins持续集成环境的教程

图文版参考链接


Jenkins能做什么

当然是部署自动化啦,java底层的持续集成的工具平台,插件包管理

  • 本地代码push到GitHub
  • Webhook自动触发jenkins上的构建动作
  • 完成安装node插件并且打包
  • 通过Publish Over SSH插件,将打包出来的文件,部署到目标服务器上

准备

github、centos、java sdk、nginx、jenkins

安装过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$yum install java

$ wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

$ rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

$ yum install jenkins //这一步会比较慢

// 下载成功,但收到警告xxx.rpm公钥未安装,cd到包的目录,执行
rpm -ivh xxx.rpm手动安装

$ service jenkins restart //启动 jenkins

$ cat /var/lib/jenkins/secrets/initialAdminPassword 查看初始密码

配置jenkis的端口

vi /etc/sysconfig/jenkins
修改
JENKINS_PORT=”8080”

service jenkins start // 默认8080,记得服务器开端口
service jenkins stop
service jenkins restart

systemctl daemon-reload // 重启

// 选择安装推荐的插件
// 等待大约20个包安装
// 创建管理员账户
// 然后再安装推荐的插件 Rebuilder, SafeRestart,Publish over SSH插件

Publish Over SSH插件安装后进入Configure System,最底下有Publish Over SSH配置

需要配置jenkins服务器和centos服务器的密钥认证

构建第一个任务

  • 选择自由风格
  • 源码管理https://github.com/Gitby-Leo/xxx.git
    • Credentials绑定仓库账号
  • 构建环境 Provide Node & npm bin/ folder to PATH
    • 选择开发时的Node版本
  • 构建
    • 执行shell
1
2
3
4
5
6
#!/bin/bash
node -v &&
npm i yarn -g &&
yarn config set registry https://registry.npm.taobao.org &&
yarn install &&
yarn build

配置服务器部署

  • 构建后操作 SSH Server
1
2
3
4
5
Name     leo_aly
Source files build/**/* 编译打包后的目标文件/文件夹
Remove prefix build 删除目录
Remote directory test1_yarn 创建目录
Exec command
  • 应用、保存

当仓库有内容时,执行构建可以看到构建进度

注意Nginx非proxy_pass模式的路径配置

配置自动构建

jenkins配置

  • 安装Generic Webhook Trigger插件,用来push代码后自动构建jenkins
  • 配置工程中的构建触发器,选择Generic Webhook Trigger,填写token,才能和github仓库关联
    • 比如设置简单的16位md5加密123456,token=49ba59abbe56e057

github配置

  • 进入仓库settings,左侧webhooks,add webhooks
  • url配置为xxx:8080/generic-webhook-trigger/invoke?token=49ba59abbe56e057
  • Just the push event在push代码时触发webhook
    提交

测试

修改一个字符,提交到github,可以看到jenkins面版里自动开始构建,并成功更新

很久不用docker了

下一篇用docker打包镜像,自动化容器构建

听说,打赏我的人最后都找到了真爱
↘ 此处应有打赏 ↙
// 用户脚本