博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jenkins——初探
阅读量:5998 次
发布时间:2019-06-20

本文共 2880 字,大约阅读时间需要 9 分钟。

hot3.png

引言

8717d387c5504d47b837d5bfa95ae20f133.jpg

产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线  

持续集成 (Continuous integration,简称CI)  

持续交付(Continuous delivery)  

持续部署(continuous deployment)

 参考

Jenkins介绍

 官网 https://jenkins.io  

Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)基于web界面的平台。  

Jenkins是一个工具集,提供了各种各样的插件  

比如获取git上最新的代码  

比如可以帮你编译源代码  

比如可以调用自定义的shell脚本远程执行命令  

官方文档

Jenkins安装

最低配置: 不少于256M内存,不低于1G磁盘,jdk版本>=8 安装jdk1.8 yum install -y java-1.8.0-openjdk wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key yum install -y jenkins systemctl start jenkins less /var/log/jenkins/jenkins.log #查询admin密码 访问 http://ip:8080/ 进行安装

efdfe14610518f1caaba2c3913bb6e671f3.jpg

73e7256fa265967bed8f772bf9467ac25b5.jpg

第一个是推荐插件安装,第二个是自定义插件安装。

a37bd47f883dc323af51221ab7a4d6cb546.jpg

ca32b2191c53b8f58e22ab084f53dcd4624.jpg

0dcf4e538947850538812570643a6cadf90.jpg

Jenkins相关目录

rpm -ql jenkins 安装目录 /var/lib/jenkins 配置文件 /etc/sysconfig/jenkins 日志目录 /var/log/jenkins 相关日志 /var/lib/jenkins/jogs 相关节点 /var/lib/jenkins/nodes 插件目录 /var/lib/jenkins/plugins

Jenkins发布php代码上

“系统管理”→“管理插件”→“已安装”

 检查是否有“Git plugin”和“Publish Over SSH”两个插件,如果没有,则需点击“可选插件”,找到它并安装

4a6dfa05d51d46fc96d6ea43ad99cac7758.jpg

a42c8f6e816c6262390b5d0ea29ac7b663d.jpg

fb996fa08dd5a1c4dead1fe2cbcf8fbe06d.jpg

安装完成后重启服务。

 安装好两个插件后,点击“系统管理”→“系统设置”
 下拉,找到“Publish Over SSH”

c15fa56f9ff61a02039d5e54213d0627924.jpg

53a5844fe2f8f02b1299603e09ab8d84d65.jpg

 事先在一台linux服务器上生成一对密钥
 ssh-keygen -f /root/.ssh/jenkins //可以设置密码,也可不设置,这里生成的是私钥
 “Passphrase”填写设置的密码, “Path to key”留空,“key”粘贴/root/.ssh/jenkins文件内容

56890f8660ce6f5a0f04f3afe65413afb17.jpg

 点击左下角“增加”,SSH Server,name自定义,Hostname填写线上web服务器的ip,Username填写root,Remote Directory填写/

6252551fd4be9954d1745355a8e9f75fdcf.jpg

我这里添加的是cc-01机器,要让cc-01机器直接登录我们本机就得通过秘钥来登录了。

步骤:复制cc-01的秘钥→本机的.ssh/authorized_keys

878df8ffa1b0f40e504bf5aadc7f68730bf.jpg

11b87c3532ec5820b75d0125b18466e9977.jpg

检测,这里我们没有输入密码就直接登录了:

e73791b072ec0da1d89abebc47bebd6944e.jpg

 如果是多台web server,继续点击“增加”,重复以上操作,点左下角的“保存”

这里我添加的是本机:

1f6d14fe818e5d8c203784cfaabde7395a4.jpg

0882035e4831fced864069ae37bbc4d818c.jpg

添加完成后可以点这里检测,然后在保存。

Jenkins发布php代码下

点击“新建”,任务名称自定义,比如test,选择“构建一个自由风格的软件项目”点击下方的“确定”  描述,自定义

8150ebf2ad27dcc28088a10cbb86be5c896.jpg

d437ead1eded2149afc866ef79f498d5d06.jpg

源码管理”选择 “Git”  “Repository URL”填写你项目的git地址(https://coding.net/u/aminglinux/p/aminglinux-book/git)这里用的老师的仓库,如果是公共项目可以不设置下面的参数,直接填写一个git地址即可,若是私有项目,需要填写认证信息,比如可以选择 “SSH Username whith private key”,然后设置Username以及private key

“Branches to build” 默认为*/master,意思是发布的分支为master,保持默认

d6ef814f7bf981d0e422e8af4f37c6d1c70.jpg

b331fc9560f577f269414c85a4031727652.jpg

注:如出现以下信息,请看是否装了git,或者在git clone一下,在去看是否正常

24095149_kqfr.png

构建触发器”和“构建环境”留空

构建”,选择 “Send files or execute commands over SSH”  SSH Server,Name 选择对应的服务器,Transfers, Source files填写**/**,表示全部文件

Remove prefix可以指定截掉的前缀目录,这里留空即可,Remote directory指定远程服务器上代码存放路径,比如/data/wwwroot/www.aaa.com,Exec command为文件传输完成后要执行的命令,比如可以是更改文件权限的命令,设置完成后点击 “Add Transfer Set”,如果还有另外的机器,可以点击 “Add Server”重复以上操作  最后点击左下角的“保存”

 

862400fb5ec23d1591519d7db2e1bb427a1.jpg

完成以上操作后,就可以使用这个刚刚创建的任务去工作了。  

点击左面的“立即构建”,就能把git上的代码发布到指定的服务器上。  

点击左下角的#1/#2… ,然后再点击 “Console Output”可以查看输出日志

9a5530c7c0c4f9c94fbbe0a57908dbbeadf.jpg

c3fb1d22fedcb68e32de486681850049eb3.jpg

7df7cdd4c5f141a4c7641f1b97c2deb2eca.jpg

检查:

3a2a56d4e4995212638e36d761c66d099d5.jpg

4d3e9cf2774d104caf1eaa44d448a6bc32d.jpg

Jenkins破解管理员密码

cd /var/lib/jenkins/users/admin vim config.xml//定位到
那一行 删除改行,改为
#jbcrypt:$2a$10$pre7I4liZFdF6ZE05QntTOoKoKa5pCUumaFO/mMzMoH09bNBzyj6O
重启一下jenkins 新密码为aminglinux.com

Gitlab 修改root用户密码

使用rails工具打开终端

1

sudo gitlab-rails console production

查询用户的email,用户名,密码等信息,id:1 表示root账号

1

user = User.where(id: 1).first

重新设置密码

1

2

user.password = ‘新密码‘

user.password_confirmation = ‘新密码‘ 

保存密码

1

user.save!

完整的操作ruby脚本

1

2

3

4

user = User.where(id: 1).first

user.password = ‘新密码‘

user.password_confirmation = ‘新密码‘

user.save!

然后使用重置过的密码重新登录。

转载于:https://my.oschina.net/ccLlinux/blog/2991711

你可能感兴趣的文章
IE7下对某些seajs压缩文件不兼容的解决方法
查看>>
利用JavaScript jQuery实现图片无限循环轮播(不借助于轮播插件)-----转载
查看>>
从零开始搭建vue项目 请求拦截器 响应拦截器
查看>>
ajax实现动态下拉框
查看>>
paper
查看>>
玩school 学习sql server 查询的网站
查看>>
什么是DMI,SMBIOS,符合SMBIOS规范的计算机的系统信息获取方法
查看>>
[原译]C#中的throw
查看>>
py 的第 22 天
查看>>
C# 基元类型
查看>>
基于Vue手写一个下拉刷新
查看>>
WIN和LIN环境下对拍程序
查看>>
2的十次方
查看>>
keepalived实现服务高可用
查看>>
2012 Gartner软件成熟度曲线
查看>>
ecshop美化放入购物车效果
查看>>
MVC HtmlHelper用法大全
查看>>
如何获得控件的属性
查看>>
ansible小结
查看>>
实习小白::(转) 官网文档 -->> 骨骼动画详解-Spine
查看>>