jenkins安装部署
war包安装
#安装依赖软件
[root@jenkins ~]# yum install -y java-1.8.0-openjdk && mkdir -p /usr/local/jenkins
#启动jenkins
[root@jenkins ~]# java -jar /usr/local/jenkins/jenkins.war &
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
#修改为国内源
[root@jenkins ~]# vim .jenkins/hudson.model.UpdateCenter.xml
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
#kill %1,重启
#修改插件下载地址
[root@jenkins .jenkins]# sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' updates/default.json
[root@jenkins .jenkins]# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' updates/default.json
[root@jenkins .jenkins]# grep -o "tuna.tsinghua" updates/default.json
#kill %1,重启
[root@jenkins ~]# cat /root/.jenkins/secrets/initialAdminPassword
0b9b294831aa4646b0c7ba7d4b5d853c
访问http://192.168.213.188:8080/
安装插件,创建管理员用户
配置git
#卸载低版本
yum remove git
[root@jenkins ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-CBuilder perl-Extuntils-MakeMaker wget autoconf -y
[root@jenkins git-2.7.3]# make configure
[root@jenkins git-2.7.3]# ./configure --prefix=/usr/local/git
[root@jenkins git-2.7.3]# make profix=/usr/local/git
[root@jenkins git-2.7.3]# make install
[root@jenkins ~]# echo "export PATH=$PATH:/usr/local/git/bin" > /etc/profile.d/git.sh
[root@jenkins ~]# source /etc/profile.d/git.sh
[root@jenkins ~]# git --version
git version 2.7.3
版本必须是2.0以上
配置maven
[root@jenkins ~]# tar xf apache-maven-3.5.4-bin.tar.gz -C /usr/local/
[root@jenkins ~]# echo "export PATH=$PATH:/usr/local/apache-maven-3.5.4/bin" > /etc/profile.d/maven.sh
[root@jenkins ~]# source /etc/profile.d/maven.sh
[root@jenkins ~]# mvn --version
Apache Maven 3.5.4
配置jdk
[root@jenkins ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el7_8.x86_64
[root@jenkins ~]# ln -sv /usr/local/jdk1.8.0_161 /usr/local/jdk1.8
[root@jenkins ~]# echo "export PATH=$PATH:/usr/local/jdk1.8/bin" > /etc/profile.d/java.sh
[root@jenkins ~]# source /etc/profile.d/java.sh
[root@jenkins ~]# java -version
java version "1.8.0_161"
配置svn
[root@jenkins ~]# yum install subversion -y
[root@jenkins ~]# mkdir /svnrepo
[root@jenkins ~]# svnadmin create /svnrepo/project1
[root@jenkins ~]# cd /svnrepo/project1/conf/
[root@jenkins conf]# egrep -v "^#|^$" authz
[aliases]
[groups]
[/]
xuel = rw
[root@jenkins conf]# egrep -v "^#|^$" passwd
[users]
xuel = xuel@qnchnet.com
[root@jenkins conf]# egrep -v "^#|^$" svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
[sasl]
# 启动项目
[root@jenkins ~]# svnserve -d -r /svnrepo/project1/
配置系统环境变量
密码破解
https://blog.csdn.net/h106140873/article/details/95480258
实战PHP程序自动发布
搭建lnmp环境
[root@lnmp ~]# yum install http php php-mysql
#https://blog.csdn.net/qq_39719589/article/details/81835330
插件安装
Publish Over SSH
Git plugin
SSH配置
系统管理一系统设置一Publish over SSH
[root@jenkins ~]# ssh-keygen -t rsa
[root@jenkins ~]# ssh-copy-id -i .ssh/id_rsa.pub git@192.168.213.136
SSH Server配置
系统管理一系统设置一Publish over SSH一SSH Server
表项 | 含义 |
---|---|
name | 需要将php程序发布到目标服务器的名称,可自定义 |
Hostname | 目标服务器的IP地址 |
Username | 发布用户(密钥互信的用户) |
Remote Directory | 发布到目标服务器的相对根路径,建议填写/,防止后续填写路径异常 |
构建项目
新建Item---->填入项目名称---->选择构建一个自由风格的软件项目----> 确定
源码管理 git
Repository URL填写具体git上的仓库url https://github.com/baijunyao/thinkphp-bjyblog.git
,如果为私有,需要添加Credentials
构建环境 Send files or execute commands over SSH after the build runs
构建后操作:生成运行后通过SSH发送文件或执行命令
表项 | 内容 | 含义 |
---|---|---|
Source files | **/* | 此路径以Jenkins的工作目录为基准,不支持全路径 |
Remote directory | /var/www/html | 此路径以SSH Server路径为基准,不支持绝对路径 |
Exec command | chown -R apache:apache /var/www/html | - |
构建
保存并构建,可以点击console output查看日志
此时在lnmp主机上查看,程序文件已经成功发布到目标服务器上
在浏览器上访问,并安装程序: http://192.168.213.136/Public/install/index.php
故障排查
error: RPCfaied; curl 18 transfer closed with outstanding read data remaining
(1)curl的postBuffer的默认值太小
[root@jenkins ~]# vim .jenkins/.gitconfig #增加
[http]
postBuffer = 524288000
(2)调整构建时间
java -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=60 -jar jenkins.war
jenkins自动从github下载代码编译,时间不能超过10分钟
jenkins对接私有仓库
配置git
(1)在jenkins服务器上生成秘钥对
[root@jenkins ~]# ssh-keygen -t rsa -C 1284915257@qq.com
(2)将公钥放置在git仓库的秘钥库中并ssh连接测试
[root@jenkins ~]# ssh-copy-id -i .ssh/id_rsa root@192.168.213.122
配置Jenkins
jenkins使用私有仓库私有仓库需要添加Credentials
配置一个Credentials
在jenkins界面,依次点击:凭据—系统—添加域—添加凭证
Private Key为jenkins主机的私钥【请确保公钥已用Username传到git主机上】
安装Maven插件
Maven Integration Plugin
或者 Pipeline Maven Integration Plugin
构建任务
验证结果