Jenkins安装及布局

jenkins安装及布署-centos6.9,jenkins-centos6.9

Jenkins安装及布局

目录

1、安装java. 2

1.1安装表达… 2

1.2创建java目录… 2

1.3下载并解压… 2

1.4安装条件变量… 2

1.5验证JDK有效性… 3

2、安装Git. 3

2.1装置GCC软件套件… 3

2.2下载安装Git. 4

3、安装jenkins. 5

3.1下载安装… 5

3.2启动Jenkins. 5

3.3安装防火墙… 6

3.4荒谬解决方法… 7

4、急速陈设Jenkins. 8

4.1中坚设置… 8

4.2设置插件… 10

4.3装置插件… 11

4.4部署邮件… 12

5、成立并布署项目… 16

5.1新建项目,配置Git库… 16

5.2装置构建触发器… 18

5.3构建步骤设置… 20

5.4添加构建后操作… 21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

从0初叶搭建自动安顿环境(续)

1.前言

也没什么原因就是想搭建来玩一下,所以就这样吧。如果非要找一个理由那就是:测试别老是催了😄。

目录

1、安装java

前言

上一篇从0起先搭建自动安排环境即便如此条件搭建起来了,可是配置少了一片段步骤。本来应该写到上一篇中,可是如此做篇幅过长了。其它,此篇会使用电动计划一个协同在Github上的Spring
Boot项目为例,介绍怎么着运用该机关安顿环境。

2.紧要已毕效益

  • 动态拉取SVN最新代码
  • 生成ipa文件
  • 生成plist文件
  • ipa、plist自动上传本地nginx服务器
  • 邮件举报,生成下载链接、链接二维码、自动安装
  • nginx服务器安装与布局
  • https证书自签定

1、安装java. 2

1.1设置表达

本作证基于服务器版本:虚拟机CentOs 6.9  内存4G

Java版本: 1.8

Jenkins版本:2.103

GItlab版本:10.1

和谐在意java版本(提出用1.8之上)

指出安装vim: yum -y install vim-enhanced

 

Jenkins是一款持续集成CI(Continuous
integration)系统,主要对象是监督软件开发流程,快捷突显问题。减弱重复进度,进步工作功能。

配置Global Tool Configuration

继上一篇,登录jenkins,已毕上一篇没有到位的接续配置。Jenkins——》系统管理——》Global
Tool Configuration,在里面安插JDK、git、Maven。

<html>
<table>
<tr>
<td>Tool</td>
<td>Configuration</td>
</tr>
<tr>
<td rowspan=”2″>JDK</td>
<td>别名=openjdk1.8.0</td>
</tr>
<tr>
<td>JAVA_HOME=/usr/lib/jvm/java</td>
</tr>
<tr>
<td rowspan=”2″>git</td>
<td>Name=git</td>
</tr>
<tr>
<td>Path to Git executable=/usr/bin/git</td>
</tr>
<tr>
<td rowspan=”2″>Maven</td>
<td>Name=maven3.5.2</td>
</tr>
<tr>
<td>MAVEN_HOME=/opt/apache-maven-3.5.2</td>
</tr>
</table>
</html>

3.条件设置

1.1设置表明… 2

1.2创建java目录

[[email protected]
~]# mkdir /usr/java

[[email protected]
~]# cd /usr/java

 

安装插件相提并论启

  • Maven Integration plugin (Maven集成,否则新建的时候从不Maven
    Project)
  • Deploy to container Plugin (安排到Java容器中的插件)
  • Publish Over SSH (远程Shell)
  • Monitoring (监控Jenkins所消耗的系统资源,如内存使用等)

插件安装完结后必要重启jenkins。http://ip:8080/restart就能重启jenkins。

homebrew安装【用来傻瓜式安装Jenkins 、nginx等等】

<pre><code>ruby -e “$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)”
</code></pre>

1.2创建java目录… 2

1.3下载并解压

可以本地先下载好再传服务器去,下载地址

–使用WinSCP工具传到/usr/java里,然后解压

 

 [[email protected]
java]# tar -zxvf jdk-8u162-linux-x64.tar.gz

 

创建Docker本地仓库

参考Docker Registry
2.0

docker run -d -p 5000:5000 --restart always --name registry registry:2

Jenkins安装

<pre><code>brew install jenkins
</code></pre>

1.3下载并解压… 2

1.4装置环境变量

 

[[email protected]
java]# vim /etc/profile

 

在profile中添加如下内容:

 

#set java environment

JAVA_HOME=/usr/java/jdk1.8.0_162

JRE_HOME=/usr/java/jdk1.8.0_162/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

 

让修改生效:

[[email protected]
java]# source /etc/profile

 

新建项目

hello项目是自身写的一个用来测试环境的Spring
Boot项目,代码托管在github上。我想完成的是:jenkins每隔15分钟自动检查github上的hello项目源码,倘诺项目有更新,就自行获取更新打包安插。

新建——》构建一个Maven项目。名称就叫hello,点击“OK”跳转到项目布局页面。具体配置如下:

  • 源码管理——》Git,Repository URL值为https://github.com/jeesun/hello
  • 构建触发器——》Poll
    SCM——》日程表,值为H/15 * * * *(设置每隔15分钟做一回检查)
  • Build——》Goals and options,值为clean package docker:build
  • Post Steps——》Add post-build step——》Execute shell,内容为

API_NAME="hello"
API_VERSION="0.0.1"
API_PORT=8761
IMAGE_NAME="127.0.0.1:5000/com.jeesun/$API_NAME:$BUILD_NUMBER"
CONTAINER_NAME=$API_NAME-$API_VERSION

cd $WORKSPACE/target
cp classes/Dockerfile .
docker tag 127.0.0.1:5000/com.jeesun/$API_NAME $IMAGE_NAME
docker push $IMAGE_NAME

cid=$(docker ps | grep "$CONTAINER_NAME" | awk '{print $1}')
if [ "$cid" != "" ]; then
 docker rm -f $cid
fi

docker run -d -p $API_PORT:8080 --name $CONTAINER_NAME $IMAGE_NAME

配备已毕后,点击“Save”。选拔页面左侧的“立时构建”,假使顺遂,访问http://ip:8761,页面出现hello, new world,表达成功。

jenkins (启动)httpProt端口号是8888,你可以修改成自由的樂

<pre><code>jenkins –httpPort=8888
</code></pre>

  • http://localhost:8080(浏览器输入默许8080)
  • /Users/apple(电脑用户名)/.jenkins(brew安装jenkins地点
  • ${WORKSPACE} 值为
    /Users/apple(电脑用户名)/.jenkins/jobs/qiniuTest(job名称)/workspace/)

1.4设置条件变量… 2

1.5验证JDK有效性

 

[[email protected]
java]# java -version

 

 

注意事项

如果不可以访问http://ip:8761,需要认可防火墙是不是关闭,或者选取开放8761端口。

nginx安装

<pre><code>brew install nginx
</code></pre>

  • Nginx默许的是8080端口,因为大家还要设置tomcat服务,所以修改nginx的端口为9000,顺便可以安装一下“开启目录浏览成效”。
    在当地目录上边,找到【nginx.conf】那么些文件,修改其情节<pre><code>/usr/local/etc/nginx</pre>
    </code>
    也得以用vim修改其内容
    <code>sudo vim /usr/local/etc/nginx/nginx.conf
    </code>

澳门金沙国际 1

9FEDF0F0-DFDC-4112-A829-9313B713E0CE.png

  • 老是修改nginx.conf配置未来都要进行以下命令检查布署文件是还是不是科学
    <code> <pre>nginx
    -t</pre></code>当现身以下提示则意味正确:<code>
    <pre>nginx: the configuration file
    /usr/local/etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /usr/local/etc/nginx/nginx.conf test is
    successful</pre>
    </code>* 给予管理员权限:<code><pre>
    sudo chown root:wheel /usr/local/opt/nginx/bin/nginx
    sudo chmod u+s /usr/local/opt/nginx/bin/nginx</pre>
    </code>* 插足launchctl启动控制<code><pre>
    mkdir -p ~/Library/LaunchAgents
    cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist
    ~/Library/LaunchAgents/
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
    澳门金沙国际,</pre></code>* 启动 nginx <code><pre>
    $ sudo nginx #打开 nginx
    $ nginx -s reload|reopen|stop|quit #再也加载配置|重启|为止|退出
    nginx
    $ nginx -t #测试配置是或不是有语法错误
    </pre></code>* 启动成功

    澳门金沙国际 2

    6624FC4A-76F9-431E-9FA7-70369E144875.png

1.5验证JDK有效性… 3

2、安装Git

 

参考

  1. jenkins new job
    没有maven项目接纳
  2. 行使Jenkins达成活动构建Maven项目
  3. Docker Registry
    2.0

https自签定证书

  • 转变服务器的私钥 <code><pre>openssl genrsa -out
    server.key 1024 </code></pre>
  • 扭转签署报名(注意除Common Name以外可以为空,Common
    Name必须为服务器的ip或域名) <code><pre>openssl req -new
    -key server.key -out server.csr </code></pre>
  • 生成CA私钥 <code><pre>openssl genrsa -out ca.key 1024
    </code></pre>
  • 选用CA的私钥暴发CA的自签署证书<code><pre>openssl req
    -new -x509 -days 365 -key ca.key -out ca.crt
    </code></pre>
  • 在当前目录创设demoCA,里面创立文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts
    <code><pre>openssl ca -in server.csr -out server.crt
    -cert ca.crt -keyfile ca.key </code></pre>
  • 这样,生成了的文本中有 server.crt,server.key, ca.crt
    <pre>server.crt,server.key, ca.crt</pre>* 开启nginx
    https
    【把地方的证件拷贝到nginx的目录下,并且编辑nginx.conf文件】<code><pre>/usr/local/etc/nginx
    </code></pre>

澳门金沙国际 3

11E8B0E2-8AFD-48E6-9ED8-380E4C847A80.png

  • 拷贝ca.crt到服务器目录下以备用户信任安装
    <pre>/usr/local/var/www
    #可以在该目录下新建一文书夹,放入ca.crt文件</code></pre>
  • 访问https 信任自签定证书

澳门金沙国际 4

3CA95A96-2060-460B-BEE4-350327E6809D.png

  • 到此处服务器的工作已经搭建落成

2、安装Git. 3

2.1装置GCC软件套件

用来编译git。假诺设置过则忽略。

 yum install gcc

 

4.Jenkins配置

2.1设置GCC软件套件… 3

2.2下载安装Git

肯定当前未曾装过git的rpm包(如有则卸载)

yum remove git

 

设置所需信赖

yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib
zlib-devel gcc perl-ExtUtils-MakeMaker wget

 

 

下载并编译git

 

cd /usr/local/src/

wget

tar zxf git-2.15.1.tar.gz

cd git-2.15.1

./configure

make prefix=/usr/local/git all

make prefix=/usr/local/git install

 

按顺序执行即可。

 

添加git变量

echo “export PATH=$PATH:/usr/local/git/bin” >> /etc/bashrc

 

使设置生效

source /etc/bashrc

 

查看git版本

git –version

 

查看git位置

which git

 

 

安装Jenkins插件

<code>
1.Subversion Plug-in(svn)
2.Xcode integration(Xcode)
3.Environment Injector Plugin(自定义全局变量)
4.Email Extension Plugin(邮件)
</code>

2.2下载安装Git. 4

3、安装jenkins

系统设置(系统管理–系统设置)##

  • 配备当前的一对环境变量(用于下边局域网里面下载用)

澳门金沙国际 5

109CDA8B-ED8E-4D12-8896-F8CD55645FE2.png

  • xcodebuilder 证书配置

澳门金沙国际 6

C8BAC7F2-C981-4C61-8D5F-A06388EA0404.png

<code> <pre>
需填写的始末:

  • Keychain Name:iPhone Distribution: *(dis证书常用名)
  • Keychain
    path:${HOME}/Library/Keychains/login.keychain(dis证书路径)
  • Keychain password:*
  • Add to keychain search path after build:Yes
  • Default keychain:iPhone Distribution: *
    </code></pre>

  • Jenkins ip及管理员邮箱配置

澳门金沙国际 7

5B2895A7-9BBF-42EC-B395-A6080807796E.png

<pre><code>
需填写的情节:

  • Jenkins URL
    (该IP地址填写本机的,那样内部局域网其余的机械便可访问了,前面发邮件有用)
  • 系统管理员地址 (填写自己的邮箱地址)
    </pre></code>

  • Jenkins 布告邮箱的安顿

澳门金沙国际 8

F55B516C-AE68-4411-889F-D31CEBC5678D.png

<pre><code>
需填写的始末:
-把上边的选项根据自己的内需填写好,发送一下测试邮件,测试是不是配备不错。
</pre></code>

3、安装jenkins. 5

3.1下载安装

wget -O /etc/yum.repos.d/jenkins.repo

rpm –import

yum install jenkins

 

wget -O /etc/yum.repos.d/jenkins.repo

rpm –import

yum install jenkins

提议用第一种即可。

 

5.新建项目

澳门金沙国际 9

A789E158-6172-475F-AE4C-C7677A4CD45A.png

<pre><code>
需填写的内容:

  • 项目名称。
  • 类型项目:自由风格的
  • 假设在此之前有现成的品类,可以填充:[Copy from
    ]拷贝所有的布局,就绝不再行填写两回了
    </pre></code>

  • 填写SVN信息

澳门金沙国际 10

0006F2C1-82C2-49E8-B696-9250028C2247.png

<pre><code>需填写的情节:

  • Repository URL :创库路径
  • Credentials:凭证(可点击旁边的add来增加)用户名/密码
  • Check-out Strategy :用 svn update 命令,每一遍打包均拉取最新的
    </pre></code>

  • 填写构建消息(Xcodebuilder)

澳门金沙国际 11

7DD1CEEA-276E-4D98-A21B-2B0A25FED0C2.png

澳门金沙国际 12

725006B9-A25B-4F57-BAD5-1D89C412B717.png

<pre><code>需填写的情节:

  • +General build settings: Target:为集成的Target名称 targetName
  • +勾选“Clean before build?”
    Configution:Release(Debug/Release按需求可选)
  • +勾选“Pack application and build ipa?” ipa filename
    pattern:targetName_${SHORT_VERSION}(target名称_version版本)
  • +Output directory:${WORKSPACE}/build/${BUILD_NUMBER}/
  • +Code signing & OS X keychain options: 在系统Xcode
    Builder(钥匙串设置)已布局
  • +Advanced Xcode build options: 勾选“Clean test reports?”
  • +Build output directory:${WORKSPACE}/build/${BUILD_NUMBER}/
    </pre></code>

  • 填写证书信息(Xcodebuilder)

澳门金沙国际 13

8047EFA6-E702-4640-81C8-6473464AA070.png

<pre><code>需填写的情节:

  • +Sign IPA at build time:在building的时候自签署
  • +Unlock Keychain: 选拔证书 【在系统Xcode
    Builder(钥匙串设置)已计划】
    </pre></code>

  • 追加脚本(Execute shell)

澳门金沙国际 14

83A65511-C705-44CF-B7F0-49DA6518AD14.png

<pre><code>需填写的情节:

export PlistURL=172.17.8.67 #该地点是生成给手机端安装plist文件的地点
export
OUTPUT=/usr/local/Cellar/nginx/1.10.2_1/html/${PLIST_NAME}_${BUILD_NUMBER}#导出路径,打包已毕后会拷贝相应的包到nginx的服务器目录上,供下载应用

cd “${WORKSPACE}/build/${BUILD_NUMBER}”

for file in “*.ipa”
do
PLIST_NAME=echo $file
done

jenkins安装及布署,从0起初搭建自动布署环境。PLIST_NAME=${PLIST_NAME%.*}

echo “[PLIST_NAME=======]:”$PLIST_NAME

cd “${WORKSPACE}/build”
echo “PLIST_NAME=$PLIST_NAME” > jenkinsUserGlobal.properties

##########生成plist
cat << EOF >
${WORKSPACE}/build/${BUILD_NUMBER}/$PLIST_NAME.plist
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN”
“;
<plist version=”1.0″>
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>;
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.ucsmy.GZNSBank1</string>
<key>bundle-version</key>
<string>1</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>$PLIST_NAME</string>
</dict>
</dict>
</array>
</dict>
</plist>
EOF

cd /usr/local/Cellar/nginx/1.10.2_1/html

mkdir ${PLIST_NAME}_${BUILD_NUMBER}

cd “${WORKSPACE}/build/${BUILD_NUMBER}”

cp -r ${WORKSPACE}/build/${BUILD_NUMBER}/$PLIST_NAME.ipa $OUTPUT

cp -r ${WORKSPACE}/build/${BUILD_NUMBER}/$PLIST_NAME.plist $OUTPUT

echo “拷贝成功”

##########生成html
cat << EOF > $OUTPUT/$PLIST_NAME.html
<html>
<body>

<script>
    var url = "https://${PlistURL}/${PLIST_NAME}_${BUILD_NUMBER}/${PLIST_NAME}.plist";
    window.location = "itms-services://?action=download-manifest&url=" + url;
</script>
    <h1>${PLIST_NAME} 安装中...</h1>
</body>

<html>
EOF
</pre></code>

  • 导出全局环境变量

澳门金沙国际 15

C5A90B21-29C4-413A-8104-53A1E0DA7574.png

<pre><code>需填写的内容:
【将在Execute shell中变化项目名称变量放入 Properties File Path中】
Properties File Path:${WORKSPACE}/build/jenkinsUserGlobal.properties
</pre></code>

  • 构建完成后-发送邮件

澳门金沙国际 16

FFB57A57-DE0F-4C7A-A290-1970C040E7F0.png

澳门金沙国际 17

689F3431-9DB9-434E-98C9-15EEFDD6E8C9.png

<pre><code>需填写的情节:

  • Project Recipient List: 邮件接收人(七个时用”,“分割)
  • Project Reply-To List:$DEFAULT_REPLYTO
  • Content Type:选择”HTML(text/html)“
  • Default
    Subject:${PROJECT_NAME}构建布告:第${BUILD_NUMBER}次不断集成${PLIST_NAME}构建${BUILD_STATUS}
  • Triggers :触发器 ,成功发送给何人,失利发送给什么人,点击高级进行设置
  • Default Content:
    <code><pre>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset=”UTF-8″>
    <title>${ENV,
    var=”JOB_NAME”}-第${BUILD_NUMBER}次构建日志</title>
    </head>

<body leftmargin=”8″ marginwidth=”0″ topmargin=”8″ marginheight=”4″
ffset=”0″>
<table width=”95%” cellpadding=”0″ cellspacing=”0″
style=”font-size: 11pt; font-family: Tahoma, Arial, Helvetica,
sans-serif”>
<tr>
<td><h2>
<font color=”#0000FF”>构建结果 – ${BUILD_STATUS}</font>
</h2></td>
</tr>
<tr>
<td><h2>
<font color=”#FF0000″>安装证书: <a
href=”;
</h2></td>
</tr>
<tr>
<td><h2>
<font color=”#FF0000″>App下载链接: <a
href=”itms-services://?action=download-manifest&url=;
</h2></td>
</tr>
<tr>
<td><h2>
<font color=”#FF0000″>App自动安装: <a
href=”;
</h2></td>
</tr>

    <tr>
           <td><h2>
                  <font color="#FF0000">二维码图片:</font>
           </h2></td>
    </tr>
    <tr>
            <td>
                ![](http://qr.liantu.com/api.php?text=https://${LOCAl_IP}/${PLIST_NAME}_${BUILD_NUMBER}/${PLIST_NAME}.html)
            </td>
    </tr>
    <tr>
        <td><br />
        <b><font color="#0B610B">构建信息</font></b>
        <hr size="2" width="100%" align="center" /></td>
    </tr>
    <tr>
        <td>
            <ul>
                <li>项目名称 : ${PROJECT_NAME}</li>
                <li>构建编号 : 第${BUILD_NUMBER}次构建</li>
                <li>SVN 版本: ${SVN_REVISION}</li>
                <li>触发原因: ${CAUSE}</li>
                <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
                <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                <li>App安装包目录 Url: <a href="https://${LOCAl_IP}/${PLIST_NAME}_${BUILD_NUMBER}/">https://${LOCAl_IP}/${PLIST_NAME}_${BUILD_NUMBER}/</a></li>
            </ul>
        </td>
    </tr>
    <tr>
        <td><b><font color="#0B610B">Changes Since Last
                    Successful Build:</font></b>
        <hr size="2" width="100%" align="center" /></td>
    </tr>
    <tr>
        <td>
            <ul>
                <li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
            </ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat="    %p"}
        </td>
    </tr>
    <tr>
        <td><b>Failed Test Results</b>
        <hr size="2" width="100%" align="center" /></td>
    </tr>
    <tr>
        <td><pre
                style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">$FAILED_TESTS</pre>
            <br /></td>
    </tr>
    <tr>
        <td><b><font color="#0B610B">构建日志 (最后 100行):</font></b>
        <hr size="2" width="100%" align="center" /></td>
    </tr>
    <tr>
        <td><textarea cols="80" rows="30" readonly="readonly"
                style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
        </td>
    </tr>
</table>

</body>
</html></code></pre>
</pre></code>

  • 多环境帮助
    1.在布局那里拔取参数化构建

澳门金沙国际 18

570BEEFD-B6D9-4CA8-BDDF-F7FE17A68DC7.png

2.在Xcode配置那里Target填写${Environment}或者Xcode Schema
File:${Environment}
(xcode里面需求配备多schema或者多target)

澳门金沙国际 19

B6B39EE5-3ADD-4EB0-A184-569621E37521.png

3.构建的时候选用相应的条件

澳门金沙国际 20

A7D9DBB2-3636-4C89-ADF8-7CABB9EA4764.png

  • 完成

澳门金沙国际 21

9E434653-ACDF-422D-8CD3-D548F64F55AB.png

3.1下载安装… 5

3.2启动Jenkins

 

修改Jenkins启动配置文件,指定java安装路径。

 vim /etc/init.d/jenkins

 

在candidates中首先行添加java路径,如下:

 

candidates=”

/usr/java/jdk1.8.0_162/bin/java

/etc/alternatives/java

/usr/lib/jvm/java-1.6.0/bin/java

/usr/lib/jvm/jre-1.6.0/bin/java

/usr/lib/jvm/java-1.7.0/bin/java

/usr/lib/jvm/jre-1.7.0/bin/java

/usr/lib/jvm/java-1.8.0/bin/java

/usr/lib/jvm/jre-1.8.0/bin/java

/usr/bin/java

 

 

修改Jenkins端口

vim /etc/sysconfig/jenkins

 

 

 

service jenkins start/stop/restart

chkconfig jenkins on

chkconfig –list |grep jenkins

jenkins         0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

 

3.2启动Jenkins. 5

3.3装置防火墙

 

修改防火墙允许8080端口访问

vim /etc/sysconfig/iptables

 

加入

-A INPUT -p tcp -m state –state NEW -m tcp –dport 9090 -j ACCEPT

 

按i 即可编辑     按Esc再输入:wq回车即可保存并退出。

 

重启防火墙生效:sudo service iptables restart

保存防火墙设置:sudo service iptables save

永恒关闭防火墙:chkconfig iptables off

千古开启防火墙: chkconfig iptables on

 

打开防火墙:service iptables start

关闭防火墙:service iptables stop

翻开防火墙状态:service iptables status

 

输入ip地址+8080即可访问jenkins

 

3.3设置防火墙… 6

3.4错误解决情势

1:丢失密码

 jenkins登录密码在这几个文件里

 

vi /var/lib/jenkins/secrets/initialAdminPassword

cat /var/lib/jenkins/secrets/initialAdminPassword

2:执行shell脚本提醒没有权力

修改所有者即可

1) vim /etc/sysconfig/jenkins

 

2) 找到$JENKINS_USER改为 “root”:

$JENKINS_USER=”root”

 

3)然后更改Jenkins home,webroot和日志的所有权:

chown -R root:root /var/lib/jenkins

chown -R root:root /var/cache/jenkins

chown -R root:root /var/log/jenkins

 

4).重新启航Jenkins并检查用户是或不是已被改成

service jenkins restart

 

3:启动成功,不可以跻身系统

  1、很可能是端口冲突导致的。先排查端口。

  2、防火墙没安装好导致的。

 

3.4荒唐解决方法… 7

4、火速布署Jenkins

4、神速安插Jenkins. 8

4.1基本设置

1:第一次登陆系统需求解锁

 

 

翻开文件并复制密码

cat /var/lib/jenkins/secrets/initialAdminPassword

 

 

2:进入后选拔插件安装

 

 

注销所有入选(不装插件直接进入系统)

 

3:设置管理员账号进入系统

 

 

4.1为主设置… 8

4.2装置插件

-配置邮件提示

Email Extension Plugin  

-拉取代码
Git plugin           

-设置钩子推送后立马构建
Gitlab Authentication plugin

Gitlab Hook Plugin

GitLab Plugin

-备份还原

ThinBackup

 

跻身系统管理,点击管理插件,点击可选插件搜索出相应插件点击直接设置即可。

 

 

 

 

 

4.2设置插件… 10

4.3安装插件

 先配置java和git,达成代码拉取功效

 

 

名称随便填,JAVA_HOME填实际地址。本次为/usr/java/jdk1.8.0_162

Path to Git executable 填写Git可执行文件的路线。设置错误拉取代码会出错。

本次为 /usr/local/git/bin/git  

可用which git查看路径

 

设置完保存即可。

 

4.3装置插件… 11

4.4安插邮件

为了促成邮件提示成效

先进入系统设置

 

 

安装邮件:

SMTP server:smtp.exmail.qq.com

[email protected]

[email protected]*****

Default Subject: 构建文告:${BUILD_STATUS} – ${PROJECT_NAME} – Build #
${BUILD_NUMBER} !

Default Content:

 

    <!DOCTYPE html> 

    <html> 

    <head> 

    <meta charset=”UTF-8″> 

    <title>${ENV,
var=”JOB_NAME”}-第${BUILD_NUMBER}次构建日志</title> 

<style>

b{

font-size:16px;

}

td{

font-size:16px;

}

li{

font-size:16px;

}

</style>

    </head> 

     

    <body leftmargin=”8″ marginwidth=”0″ topmargin=”8″
marginheight=”4″ 

        offset=”0″> 

        <table width=”95%” cellpadding=”0″ cellspacing=”0″ 

            style=”font-size: 20px; font-family: Tahoma, Arial,
Helvetica, sans-serif”> 

       <tr>

            <td>(本邮件是先后自动发出的,请勿回复!)</td>

        </tr>

        <tr>

            <td><h2>

                    <font color=”#0000FF”>构建结果 –
${BUILD_STATUS}</font>

                </h2></td>

        </tr>

            <tr> 

                <td><br /> 

                <b><font
color=”#0B610B”>构建音讯</font></b> 

                <hr size=”2″ width=”100%” align=”center”
/></td> 

            </tr> 

            <tr> 

                <td> 

                    <ul> 

                        <li>项目名称 :
${PROJECT_NAME}</li> 

                        <li>构建编号 :
第${BUILD_NUMBER}次构建</li> 

                        <li>触发原因: ${CAUSE}</li> 

                        <li>构建日志: <a
href=”${BUILD_URL}console”>${BUILD_URL}console</a></li> 

                        <li>构建  Url : <a
href=”${BUILD_URL}”>${BUILD_URL}</a></li> 

                        <li>工作目录 : <a
href=”${PROJECT_URL}ws”>${PROJECT_URL}ws</a></li> 

                        <li>项目  Url : <a
href=”${PROJECT_URL}”>${PROJECT_URL}</a></li> 

                    </ul> 

                </td> 

            </tr> 

            <tr> 

                <td><b><font
color=”#0B610B”>变更集</font></b> 

                <hr size=”2″ width=”100%” align=”center”
/></td> 

            </tr> 

             

            <tr> 

                <td>${JELLY_SCRIPT,template=”html”}<br/> 

                <hr size=”2″ width=”100%” align=”center”
/></td> 

            </tr> 

            

            

        </table> 

    </body> 

    </html> 

 

系统自带邮件可以测试邮件设置是不是中标

 

默许邮箱三个利用英文逗号隔开。设置好保存即可。

 

4.4布局邮件… 12

5、成立并安插项目

 

5、创设并配备项目… 16

5.1新建项目,配置Git库

输入项目名称接纳随机风格

 

 

2:源码管理采用git,输入库地方添加账号密码,输入分支名称

 

点击Add添加git账号密码

 

如过报错,查看错误提示。

 

提醒不可能解析主机,域名没有安排。

修改hosts文件

vim /etc/hosts

添加域名即可

 

 

5.1新建项目,配置Git库… 16

5.2安装构建触发器

 第一种:隔断时间相比git库,发现有改动霎时触发构建。

 

构建触发器拔取Poll SCM  输入 H/3 * * * *    ‘3’代表3分种相比较三遍。

 

第三种:设置git钩子,有推送事件及时触发构建。

 

先勾选Build when a change is pushed to GitLab. GitLab CI Service
URL:…….

再选拔高档,点击生成按钮,生成一个Secret token

复制Secret token,和GitLab CI Service URL需要去git配置web hook使用。

(不一样类型URL和token都不均等)

 

 

 

 

 

Gitlab hook设置

Gitlab版本10.1

1:进入项目选拔安装

2:设置里挑选集成

3:输入框输入对应URL和token

4:打消SSH验证,保存即可

生效后历次推送都会接触那些钩子,请求Jenkins执行构建职务。

本子不等同设置不相同等,该装置适合新本子gitlab和新版Jenkins。

 

 

 

 

 

5.2安装构建触发器… 18

5.3构建步骤设置

 

选择Execute shell

输入执行脚本

例:rm -f /var/lib/jenkins/workspace/OPM/common/config/main-local.php
&&  cp -Rf /var/lib/jenkins/workspace/OPM/*
/home/htdocs/opm-it.hjzd.com

 

代码拉取完会执行该脚本。

 

5.3构建步骤设置… 20

5.4添加构建后操作

  构建结果能够设置邮件提醒用户。

构建后操作采取Editable Email Notification

 

 

 

 

 

留神以下三点即可

 

邮件上边点击高级设置配置邮件触发条件

 

接触条件拔取一切

 

安装成功后会主页点击立时构建,构建后翻看邮件发送是不是成功。

 

 

 

打响发送的邮件模板为:

 

 

 

在支配台出口里查看构建日志。

钩子触发成功,构建成功,邮件发送成功验证项目现已安插成功。

 

Jenkins安装及配置 目录 1、安装java. 2 1.1设置表明… 2
1.2创制java目录… 2 1.3下载并解压… 2 1.4安装环…

5.4添加构建后操作… 21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1、安装java

1.1装置表明

本作证基于服务器版本:虚拟机CentOs 6.9  内存4G

Java版本: 1.8

Jenkins版本:2.103

GItlab版本:10.1

团结只顾java版本(提出用1.8以上)

提出设置vim: yum -y install vim-enhanced

 

Jenkins是一款持续集成CI(Continuous
integration)系统,主要目标是监督软件开发流程,飞快展现问题。裁减重复进程,升高工作成效。

1.2创建java目录

[root@localhost ~]# mkdir /usr/java

[root@localhost ~]# cd /usr/java

 

1.3下载并解压

可以本地先下载好再传服务器去,下载地址

–使用WinSCP工具传到/usr/java里,然后解压

 

 [root@localhost java]# tar -zxvf jdk-8u162-linux-x64.tar.gz

 

1.4装置环境变量

 

[root@localhost java]# vim /etc/profile

 

在profile中添加如下内容:

 

#set java environment

JAVA_HOME=/usr/java/jdk1.8.0_162

JRE_HOME=/usr/java/jdk1.8.0_162/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

 

让修改生效:

[root@localhost java]# source /etc/profile

 

1.5验证JDK有效性

 

[root@localhost java]# java -version

 

 

2、安装Git

 

2.1安装GCC软件套件

用来编译git。倘使设置过则忽略。

 yum install gcc

 

2.2下载安装Git

肯定当前尚无装过git的rpm包(如有则卸载)

yum remove git

 

安装所需依靠

yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib
zlib-devel gcc perl-ExtUtils-MakeMaker wget

 

 

下载并编译git

 

cd /usr/local/src/

wget

tar zxf git-2.15.1.tar.gz

cd git-2.15.1

./configure

make prefix=/usr/local/git all

make prefix=/usr/local/git install

 

按梯次执行即可。

 

添加git变量

echo “export PATH=$PATH:/usr/local/git/bin” >> /etc/bashrc

 

使设置生效

source /etc/bashrc

 

查看git版本

git –version

 

查看git位置

which git

 

 

3、安装jenkins

3.1下载安装

wget -O /etc/yum.repos.d/jenkins.repo

rpm –import

yum install jenkins

 

wget -O /etc/yum.repos.d/jenkins.repo

rpm –import

yum install jenkins

提出用第一种即可。

 

3.2启动Jenkins

 

修改Jenkins启动配置文件,指定java安装路径。

 vim /etc/init.d/jenkins

 

在candidates中率先行添加java路径,如下:

 

candidates=”

/usr/java/jdk1.8.0_162/bin/java

/etc/alternatives/java

/usr/lib/jvm/java-1.6.0/bin/java

/usr/lib/jvm/jre-1.6.0/bin/java

/usr/lib/jvm/java-1.7.0/bin/java

/usr/lib/jvm/jre-1.7.0/bin/java

/usr/lib/jvm/java-1.8.0/bin/java

/usr/lib/jvm/jre-1.8.0/bin/java

/usr/bin/java

 

 

修改Jenkins端口

vim /etc/sysconfig/jenkins

 

 

 

service jenkins start/stop/restart

chkconfig jenkins on

chkconfig –list |grep jenkins

jenkins         0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

 

3.3安装防火墙

 

修改防火墙允许8080端口访问

vim /etc/sysconfig/iptables

 

加入

-A INPUT -p tcp -m state –state NEW -m tcp –dport 9090 -j ACCEPT

 

按i 即可编辑     按Esc再输入:wq回车即可保存并退出。

 

重启防火墙生效:sudo service iptables restart

保留防火墙设置:sudo service iptables save

世代关闭防火墙:chkconfig iptables off

永远开启防火墙: chkconfig iptables on

 

开拓防火墙:service iptables start

关闭防火墙:service iptables stop

翻开防火墙状态:service iptables status

 

输入ip地址+8080即可访问jenkins

 

3.4荒唐解决措施

1:丢失密码

 jenkins登录密码在这些文件里

 

vi /var/lib/jenkins/secrets/initialAdminPassword

cat /var/lib/jenkins/secrets/initialAdminPassword

2:执行shell脚本提醒没有权限

修改所有者即可

1) vim /etc/sysconfig/jenkins

 

2) 找到$JENKINS_USER改为 “root”:

$JENKINS_USER=”root”

 

3)然后更改Jenkins home,webroot和日志的所有权:

chown -R root:root /var/lib/jenkins

chown -R root:root /var/cache/jenkins

chown -R root:root /var/log/jenkins

 

4).重新启航Jenkins并检查用户是不是已被改成

service jenkins restart

 

3:启动成功,无法跻身系统

  1、很可能是端口争执造成的。先排查端口。

  2、防火墙没安装好导致的。

 

4、快捷布置Jenkins

4.1中坚设置

1:首次登陆系统要求解锁

 

 

查阅文件并复制密码

cat /var/lib/jenkins/secrets/initialAdminPassword

 

 

2:进入后选用插件安装

 

 

注销所有入选(不装插件直接进去系统)

 

3:设置管理员账号进入系统

 

 

4.2安装插件

-配置邮件提示

Email Extension
Plugin  

-拉取代码
Git
plugin           

-设置钩子推送后随即构建
Gitlab Authentication
plugin

Gitlab Hook
Plugin

GitLab
Plugin

-备份还原

ThinBackup

 

进去系统管理,点击管理插件,点击可选插件搜索出相应插件点击直接设置即可。

 

 

 

 

 

4.3装置插件

 先配置java和git,完成代码拉取效用

 

 

名称随便填,JAVA_HOME填实际地址。本次为/usr/java/jdk1.8.0_162

Path to Git executable 填写Git可执行文件的路子。设置错误拉取代码会出错。

本次为 /usr/local/git/bin/git  

可用which git查看路径

 

设置完保存即可。

 

4.4安顿邮件

为了促成邮件提醒效率

先进入系统设置

 

 

设置邮件:

SMTP server:smtp.exmail.qq.com

ruanjianbu@hfhjzddata.com

Hjzd@*****

Default Subject: 构建通告:${BUILD_STATUS} – ${PROJECT_NAME} – Build #
${BUILD_NUMBER} !

Default Content:

 

    <!DOCTYPE html> 

    <html> 

    <head> 

    <meta charset=”UTF-8″> 

    <title>${ENV,
var=”JOB_NAME”}-第${BUILD_NUMBER}次构建日志</title> 

<style>

b{

font-size:16px;

}

td{

font-size:16px;

}

li{

font-size:16px;

}

</style>

    </head> 

     

    <body leftmargin=”8″ marginwidth=”0″ topmargin=”8″
marginheight=”4″ 

        offset=”0″> 

        <table width=”95%” cellpadding=”0″ cellspacing=”0″ 

            style=”font-size: 20px; font-family: Tahoma, Arial,
Helvetica, sans-serif”> 

       <tr>

            <td>(本邮件是程序自动发出的,请勿回复!)</td>

        </tr>

        <tr>

            <td><h2>

                    <font color=”#0000FF”>构建结果 –
${BUILD_STATUS}</font>

                </h2></td>

        </tr>

            <tr> 

                <td><br /> 

                <b><font
color=”#0B610B”>构建音信</font></b> 

                <hr size=”2″ width=”100%” align=”center”
/></td> 

            </tr> 

            <tr> 

                <td> 

                    <ul> 

                        <li>项目名称 :
${PROJECT_NAME}</li> 

                        <li>构建编号 :
第${BUILD_NUMBER}次构建</li> 

                        <li>触发原因: ${CAUSE}</li> 

                        <li>构建日志: <a
href=”${BUILD_URL}console”>${BUILD_URL}console</a></li> 

                        <li>构建  Url : <a
href=”${BUILD_URL}”>${BUILD_URL}</a></li> 

                        <li>工作目录 : <a
href=”${PROJECT_URL}ws”>${PROJECT_URL}ws</a></li> 

                        <li>项目  Url : <a
href=”${PROJECT_URL}”>${PROJECT_URL}</a></li> 

                    </ul> 

                </td> 

            </tr> 

            <tr> 

                <td><b><font
color=”#0B610B”>变更集</font></b> 

                <hr size=”2″ width=”100%” align=”center”
/></td> 

            </tr> 

             

            <tr> 

                <td>${JELLY_SCRIPT,template=”html”}<br/> 

                <hr size=”2″ width=”100%” align=”center”
/></td> 

            </tr> 

            

            

        </table> 

    </body> 

    </html> 

 

系统自带邮件可以测试邮件设置是还是不是成功

 

默认邮箱多少个利用英文逗号隔开。设置好保存即可。

 

5、创设并安顿项目

 

5.1新建项目,配置Git库

输入项目名称拔取随机风格

 

 

2:源码管理拔取git,输入库地方添加账号密码,输入分支名称

 

点击Add添加git账号密码

 

如过报错,查看错误提醒。

 

唤醒不可以解析主机,域名没有配置。

修改hosts文件

vim /etc/hosts

添加域名即可

 

 

5.2设置构建触发器

 第一种:隔断时间相比较git库,发现有转移马上触发构建。

 

构建触发器接纳Poll SCM  输入 H/3 * * * *    ‘3’代表3分种比较四次。

 

其次种:设置git钩子,有推送事件立刻触发构建。

 

先勾选Build when a change is pushed to GitLab. GitLab CI Service
URL:…….

再选取高档,点击生成按钮,生成一个Secret token

复制Secret token,和GitLab CI Service URL需要去git配置web hook使用。

(分裂品类URL和token都分裂)

 

 

 

 

 

Gitlab hook设置

Gitlab版本10.1

1:进入项目选用安装

2:设置里挑选集成

3:输入框输入对应URL和token

4:裁撤SSH验证,保存即可

生效后历次推送都会接触那一个钩子,请求Jenkins执行构建职分。

本子不雷同设置不雷同,该装置适合新本子gitlab和新版Jenkins。

 

 

 

 

 

5.3构建步骤设置

 

选择Execute shell

输入执行脚本

例:rm -f /var/lib/jenkins/workspace/OPM/common/config/main-local.php
&&  cp -Rf /var/lib/jenkins/workspace/OPM/*
/home/htdocs/opm-it.hjzd.com

 

代码拉取完会执行该脚本。

 

5.4添加构建后操作

  构建结果可以安装邮件提示用户。

构建后操作选取Editable Email Notification

 

 

 

 

 

瞩目以下三点即可

 

邮件上面点击高级设置配置邮件触发条件

 

接触条件选用任何

 

设置成功后会主页点击登时构建,构建后翻看邮件发送是不是中标。

 

 

 

中标发送的邮件模板为:

 

 

 

在支配台出口里查看构建日志。

钩子触发成功,构建成功,邮件发送成功验证项目已经安插成功。

 

相关文章