jenkins学习笔记

Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,普遍用于项目开发,具备自动化构建、测试和部署等功能。本系列博客以 windows 10 环境为例html

 

1 安装jdk

1 Jenkins 自身采用 Java 开发,因此要必须安装 JDK; 

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmljava

 

 2 配置环境变量

 

 

 

2 安装 Jenkins

一、官网: https://jenkins.io/, 下载 LTS(稳定版)安装便可,windows安装很简单,直接双击msi文件安装便可,

建议先改一下工做主目录,请看第6 配置node

安装后程序会自动建立了一个windows服务,Jenkins默认使用的端口是8080,在浏览器中输入地址:http://localhost:8080/,可打开界面python

二、安装完后会在安装目录下的secrets文件夹下有一个initialAdminPassword文件,里面有初次的初始密码,登录localhost:8080的时候 第一次须要用到,个人安装路径是默认路径C:\Program Files (x86)\Jenkins

如图

三、接下来插件安装,选左边建议的就行,毕竟插件能够随时安装,须要啥装啥,不必纠结这一步、

四、设置登录帐户

 五、安装插件

非必须的git

我本次的项目是.net程序,使用git管理代码web

因此须要安装git插件。MSBuild是在.NET 2.0中引入的针对Visual Studio的构建系统。它能够执行构建脚本,完成各类Task──最主要的是把.NET项目编译成可执行文件或者DLL,须要安装mubuild插件c#

安装git 插件(没有安装git的,参考安装教程

若是按照上面的配置,git插件默认是已经安装上的,若是没有安装,能够这样安装windows

系统管理 -》插件管理-》installed  查看已安装的插件,若是没有git plugings就须要安装浏览器

系统管理 -》插件管理-》Avaliable 找到git plugin 下载安装bash

若是验证git plugin已经安装上了呢

New 任务-》肯定建立后-》source code management 若是看到了git这个选项,证实git插件已经安装上了

 好接下来配置git

 

 

从gitlab上面拷贝项目是须要登录的,这里咱们配置密钥后,才能够将项目代码克隆下来

 

 

一、先在jenkins服务所在主机上,生成ssh密钥对,方法以下:这是Linux下的,windows同样,个人生成后在C:\Users\admin\.ssh

要进行下面的操做得先安装git

若是是win7 ssh-keygen -t rsa 后会报错没有这个指令

能够这样

git bash下-》

 

而后在 C:user/admin/.ssh下面就能看到

 

win10下就按下面得操做

[root@node1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
bf:1e:4d:b3:0f:fb:8b:71:cd:ef:d3:70:69:a4:46:ff root@node1.chinasoft.com
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| . . |
| S + + .|
| . o =.*.|
| o * oo=|
| o B .E|
| .o o.+o+|
+-----------------+
[root@node1 ~]# cat .ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3vhfbA4NdkP8g1WVyYkw93f1PZ04nWoyFnoerC9b40jIY5px+tkugdy/RZ3/bp4hMC5yNgV1S25Tm8RpzBJMp7pbJz8dO+LCKqUnXq9Eh0QhsZE0xlQN+J4awy9YIGiD2nFg7k/ZzeAtQRzNryrrPnKaWpXtg7tMGGTWBjeyLAVuqCOMU7euY94G26UmVfjDLIJkcJqB+8dwvodW3wpmUER32qVPKZLnSYSOCfoNed+P4Eujs5PBCLuzFvGyiDhY2Pwrk/4S11jWUa7TJItfoPXzeGc/ujaJi/o24dt8VXeFa/Rm4wywYLNW3TRjXy1mPpdVlob3701MMQ0bf3qPv root@node1.chinasoft.com

 

 id_rsa:私钥

id_rsa.pub:公钥

二、在gitlab上配置公钥

1

 2

 

 3 把公钥复制到key里面,Title会自动填充,也能够改为容易识别的名字

 

 

三、在jenkins上配置私钥

 有两种方式都能配置,一种全局配置,一种在新建task中配置全局密钥

全局配置:

1

 

 

3

4

 

 

好了,这算是配置完成了,能够尝试从git拉取项目代码了

 

下面来测试一下

新建一个任务

 

保存并构建,蓝色:成功   红色:失败

能够查看输出

 

 

安装MSbuild

这个安装比较简单,下载安装后,配置一下

 

 

插件安装后要重启jenkins

 

6 jenkins 配置

非必须的

主目录修改

jenkins的工做路径默认在安装盘中:个人在C:\Program Files (x86)\Jenkins\workspace,显然咱们不想把构建的项目放在c盘下吧,怎么办呢,改工做路径

改工做路径最好一开始就改好,不然会很麻烦,若是你配置并投入了运行再改的话,按照我下面的方法配置,会发现这至关于一个全新的服务,以前的配置和插件都没有了,固然网上也有解决办法,我没试

这是win10上的操做

一、添加环境变量JENKINS_HOME 值是工做主目录

二、建立你的主目录 D:\mywork\jenkins

三、修改配置文件,jenkins.xml   C:\Program Files (x86)\Jenkins\jenkins.xml

若是没权限改的话,先拷贝出来,改好后再拷贝进去

将这一句

<env name="JENKINS_HOME" value="%BASE%"/>

改成

<env name="JENKINS_HOME" value="%JENKINS_HOME%"/>

 四、重启或者启动

重启: localhost:8080/restart

退出:localhost:8080/exit

重启或退出后若是出现网页打不开了,能够看一下jenkins服务是否没有起来,个人电脑-》管理-》服务和应用程序-》服务

 

若是没有启动就手动起一下,个人就是手动起来的,而后就行了

若是要卸载,能够先把服务停了,直接将jenkis文件夹删除就行了,而后从新安装

五、看一下主目录

 

 建立用户

系统管理-》用户管理-》建立用户  这里要说的是邮箱必须填写,若是不填写,不报错,也不让你注册成功。至少个人浏览器是这样的

 构建一个简单的c#项目

一、准备C#依赖安装包 

我pc上搭建过c#运行程序,网上说:

首先咱们须要先准备几个安装包,将它们安装到 Windows 上: 

2 配置MSBuild编译参数

咱们上面已经从gitlab成功拉取项目要代码了,下面就来编译一下,咱们要编译的项目是C#程序,使用MSbuild来编译构建

 

 

从上往下,依次是

  • 选用的 MSBuild 版本
  • 目标项目或解决方案文件的路径+文件名
  • MSBuild 参数

 

这里主要讲一下“Command Line Arguments”的配置,更全面的 MSBuild 文档能够参阅 MSDN:https://msdn.microsoft.com/zh-CN/library/dd393574.aspx

 

我但愿生成一个 C#项目,并发布到文件系统中,主要用到:
/t:Rebuild 从新生成
/p:Configuration=Release Release 生成模式
/p:VisualStudioVersion=12.0 指定子工具集(https://msdn.microsoft.com/zh-cn/library/bb383796.aspx)版本,不设置会报错

 

好了保存构建吧。这是构建成功后的输出信息

 

 触发构建

 定时构建

1、定时构建语法

* * * * *

(五颗星,中间用空格隔开)

第一颗*表示分钟,取值0~59
第二颗*表示小时,取值0~23
第三颗*表示一个月的第几天,取值1~31
第四颗*表示第几月,取值1~12
第五颗*表示一周中的第几天,取值0~7,其中0和7表明的都是周日

1.每30分钟构建一次:

H/30 * * * *

2.每2个小时构建一次

H H/2 * * *

3.天天早上8点构建一次

0 8 * * *

4.天天的8点,12点,22点,一天构建3次

0 8,12,22 * * *

(多个时间点,中间用逗号隔开)

Poll SCM

1.Poll SCM:定时检查源码变动(根据SCM软件的版本号),若是有更新就checkout最新code下来,而后执行构建动做

2.若是我想每隔30分钟检查一次源码变化,有变化就执行

 

Job关联

1.举个案例场景,好比我下面Job1是web项目打包并发布的构建任务,我想每次打完包发布后,而后触发自动化测试Job2的构建。

(固然发布后,通常会等几分钟才会彻底加载完成,再下一次构建的时候,能够用python加个脚本sleep几分钟)

 咱们设置这样的执行顺序,Test1->Test2->Test3

也就是说,咱们须要在Test2的配置界面设置,构建前,须要勾选Build after other projects are build,而后Test2构建结束后,须要继续构建Test3.

打开Test2的配置界面

 而后看看Test2的构建后步骤如何设置。

 

 

 

 

 

 https://www.cnblogs.com/reblue520/p/7130914.html

相关文章
相关标签/搜索