jenkins介绍,Jenkins安装,Jenkins发布PHP代码

Jenkins介绍

在这里插入图片描述

官网 https://jenkins.io
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)基于web界面的平台。
Jenkins是一个工具集,提供了各种各样的插件
比如获取git上最新的代码
比如可以帮你编译源代码
比如可以调用自定义的shell脚本远程执行命令
官方文档 https://jenkins.io/doc/

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/ 进行安装

安装jdk:

[root@shuai-01 ~]# yum install -y java-1.8.0-openjdk

下载安装Jenkins源:

[root@shuai-01 ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
查看下载源:

[root@shuai-01 ~]# cat /etc/yum.repos.d/jenkins.repo 
[jenkins]
name=Jenkins
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1

安装Jenkins之前安装一个key:

[root@shuai-01 ~]# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

安装Jenkins:

[root@shuai-01 ~]# yum install -y jenkins

启动Jenkins:

[root@shuai-01 ~]# systemctl start jenkins

浏览器打开ip:8080:

在这里插入图片描述

在提示下找密码:

[root@shuai-01 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword 

一步一步进入Jenkins页面:

在这里插入图片描述

Jenkins配置文件:

/etc/sysconfig/jenkins

Jenkins程序主目录:

[root@shuai-01 ~]# cd /var/lib/jenkins/
[root@shuai-01 jenkins]# ls
config.xml
hudson.model.UpdateCenter.xml
hudson.plugins.git.GitTool.xml
identity.key.enc
jenkins.CLI.xml
jenkins.install.InstallUtil.installingPlugins
jenkins.install.InstallUtil.lastExecVersion
jenkins.install.UpgradeWizard.state
jenkins.model.JenkinsLocationConfiguration.xml
jenkins.telemetry.Correlator.xml
jobs
logs
nodeMonitors.xml
nodes
plugins
queue.xml.bak
secret.key
secret.key.not-so-secret
secrets
updates
userContent
users
workflow-libs

jobs/浏览器创建的任务
logs/ 相关的日志
nodes/多节点用到的
plugins/插件用到的目录
secrets/密码秘钥相关的

备份Jenkins:
只要把目录全部拷贝

Jenkins不需要借助数据库存放相关的数据,配置全部存放在.xml文件里

发布php代码

jenkins发布PHP需要安装两个插件:git plugin ,publish over ssh

需要在系统管理中的插件管理安装上。

安装完成之后,重启Jenkins服务

[root@shuai-01 ~]# systemctl restart jenkins

设置publish over ssh插件:

首先要在安装Jenkins服务的机器上生成一份秘钥对。

 ssh-keygen -f /root/.ssh/jenkins 

再系统管理系统设置下找到publish over ssh插件:

“Passphrase”填写设置的密码, “Path to key”留空,“key”粘贴/root/.ssh/jenkins文件内容
点击左下角“增加”,SSH Server,name自定义,Hostname填写线上web服务器的ip,Username填写root,Remote Directory填写/
如果是多台web server,继续点击“增加”,重复以上操作
点左下角的“保存”

在这里插入图片描述

私钥在key里面设置,公钥要拷贝到远程机器上去。

在这里插入图片描述

应用,保存。

点击“新建”,任务名称自定义,比如test,选择“构建一个自由风格的软件项目”点击下方的“确定”
描述,自定义
“源码管理”选择 “Git”
“Repository URL”填写你项目的git地址,如果是公共项目可以不设置下面的参数,直接填写一个git地址即可,若是私有项目,需要填写认证信息,比如可以选择 “SSH Username whith private key”,然后设置Username以及private key
“Branches to build” 默认为*/master,意思是发布的分支为master,保持默认
“构建触发器”和“构建环境”留空
“构建”,选择 “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”重复以上操作
最后点击左下角的“保存”
完成以上操作后,就可以使用这个刚刚创建的任务去工作了。
点击左面的“立即构建”,就能把git上的代码发布到指定的服务器上。
点击左下角的#1/#2… ,然后再点击 “Console Output”可以查看输出日志

创建一个新任务:
在这里插入图片描述

在这里插入图片描述

从git上拉下来:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这时就可以点击项目并构建:

在这里插入图片描述

查看发布:

[root@shuai-01 ~]# ls -l /tmp/123456/
总用量 100
drwxr-xr-x 2 nobody nobody    66 10月  9 14:34 D11Z
drwxr-xr-x 2 nobody nobody   260 10月  9 14:34 D12Z
drwxr-xr-x 2 nobody nobody    24 10月  9 14:34 D13Z
drwxr-xr-x 2 nobody nobody  4096 10月  9 14:34 D14Z
drwxr-xr-x 2 nobody nobody  4096 10月  9 14:34 D15Z
drwxr-xr-x 2 nobody nobody    25 10月  9 14:34 D17Z
drwxr-xr-x 2 nobody nobody    76 10月  9 14:34 D18Z
drwxr-xr-x 2 nobody nobody   155 10月  9 14:34 D19Z
drwxr-xr-x 2 nobody nobody    83 10月  9 14:34 D20Z
drwxr-xr-x 2 nobody nobody   200 10月  9 14:34 D21Z
drwxr-xr-x 2 nobody nobody   128 10月  9 14:34 D22Z
-rw-r--r-- 1 nobody nobody 18044 10月  9 14:34 LICENSE
-rw-r--r-- 1 nobody nobody   419 10月  9 14:34 README.md
-rw-r--r-- 1 nobody nobody 66243 10月  9 14:34 习题答案.txt


[root@shuai-02 ~]# ls -l /tmp/jenkins_php/
总用量 100
drwxr-xr-x 2 nobody nobody    66 10月  9 14:34 D11Z
drwxr-xr-x 2 nobody nobody   260 10月  9 14:34 D12Z
drwxr-xr-x 2 nobody nobody    24 10月  9 14:34 D13Z
drwxr-xr-x 2 nobody nobody  4096 10月  9 14:34 D14Z
drwxr-xr-x 2 nobody nobody  4096 10月  9 14:34 D15Z
drwxr-xr-x 2 nobody nobody    25 10月  9 14:34 D17Z
drwxr-xr-x 2 nobody nobody    76 10月  9 14:34 D18Z
drwxr-xr-x 2 nobody nobody   155 10月  9 14:34 D19Z
drwxr-xr-x 2 nobody nobody    83 10月  9 14:34 D20Z
drwxr-xr-x 2 nobody nobody   200 10月  9 14:34 D21Z
drwxr-xr-x 2 nobody nobody   128 10月  9 14:34 D22Z
-rw-r--r-- 1 nobody nobody 18044 10月  9 14:34 LICENSE
-rw-r--r-- 1 nobody nobody   419 10月  9 14:34 README.md
-rw-r--r-- 1 nobody nobody 66243 10月  9 14:34 习题答案.txt

猜你喜欢

转载自blog.csdn.net/aoli_shuai/article/details/82975557