Jenkins自动化部署
[[toc]]
Jenkins学习记录
学前了解:
linux shell |
Why Jenkins
是业界流行开源的持续集成的工具,广泛用于项目开发,具有自动化构建,测试,部署等功能
CI 持续集成
CD 持续部署
配置jdk安装Java环境
jenkins是java编写的,所以需要先安装jdk
cd /usr/local/src //选择下载目录 |
配置/启动 Jenkins
cd /etc/yum.repos.d |
如果是wget 安装的话
启动jenkins
java -jar jenkins.war –httpPort=8081
如果想要在linux后台一直运行,则要开始加nohup,在末尾加&号
nohup java -jar jenkins.war –httpPort=8081 &
启动后 会生成一个nohup.out输出,需要的话,可以tail -f nohup.out实时查看日志
列出jenkins的所有进程
ps -aux|grep jenkins
杀死这个进程
kill -9 [PID]
登录
账号:admin
密码:cat /var/lib/jenkins/secrets/initialAdminPassword
(初始密码)
安装插件
首先重置安装源,切换到中国的镜像
系统管理->插件管理->高级->升级的站点
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
清华大学的站点
Generic Webhook Trigger //web触发器 |
手动下载jenkins插件
插件下载地址:http://updates.jenkins-ci.org/download/plugins/
如果有插件一直安装失败的情况,可以从jenkins官网下载插件,然后导入到jenkins。
示例:我从官方下载gitlab-plugin插件到本地,然后导入到jenkins中。
在jenkins插件管理->高级
选择上传插件进行安装。
关闭防火墙
设置开机启用防火墙:systemctl enable firewalld.service |
添加项目
新建一个任务[name]->构架一个自由风格的项目->确定
源代码->git->https://github.com/hzfvictory/weapp.git->添加权限【git 的用户名和密码】->构建触发器(Generic Webhook Trigger)->应用保存
配置webhook
此时可以构建了,但是需要在还给Git中添加Webhooks,否则不能自动化构建
http://JENKINS_URL/generic-webhook-trigger/invoke
JENKINS_URL格式为 用户名:token@ip:8080
token生成的位置
admin
1108c27bdd32e70d8ba6ba7893bcf57450
120.79.229.197:8080
http://admin:1108c27bdd32e70d8ba6ba7893bcf57450@120.79.229.197:8080/generic-webhook-trigger/invoke
触发
手动触发,查看日志是否成功
代码默认目录,在控制台查看 cd /var/lib/jenkins/workspace/[name]
也可以Git提交一版代码触发看是否成功
构建
下拉任务名字->配置->构建环境(选中Run the build in an NVM managed environment,【我们自己下载的插件提供node环境】)->
输入node的版本号->构建->选择shell
echo $GIT_BRANCH |
添加服务器的私钥
系统管理->系统设置->Publish over SSH
配置免费登录(同一台也要)
ssh-keygen -t rsa
ssh-copy-id 120.79.229.197
这里不配置免登录,在部署的时候,找不到要部署的服务器
构建后操作
下拉任务名字->配置->构建后操作->Send build artifacts over SSH
邮件提醒
1.系统管理->系统设置->Jenkins Location(系统管理员邮件地址) feng960106@163.com
2.系统管理->系统设置->Extended E-mail Notification
3.系统管理->系统设置->邮件通知
4.拉任务名字->配置->构建后操作->Editable Email Notification
优化jenkins运行内存 vim /etc/sysconfig/jenkins
Jenkins权限设置错误
修改config.xml
先查看目录 find / -name jenkins
- cd /var/lib/jenkins
先备份 cp config.xml hzf.xml
删除以下内容:
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy"> |
启动jenkins
service jenkins restart
再次访问Jenkins后,首先要设置登录认证。
Jenkins调优
# 查看物理CPU个数 |
cd /usr/mongodb/bin |
卸载jenkins
service jenkins stop |