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

1 安装jdk

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

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

2 配置环境变量

2 安装 Jenkins

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

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

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

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

如图

3、接下来插件安装,选左边建议的就行,毕竟插件可以随时安装,需要啥装啥,没必要纠结这一步、

4、设置登陆账户

5、安装插件

非必须的

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

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

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

如果按照上面的配置,git插件默认是已经安装上的,如果没有安装,可以这样安装

系统管理 -》插件管理-》installed  查看已安装的插件,如果没有git plugings就需要安装

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

如果验证git plugin已经安装上了呢

New 任务-》确定创建后-》source code management 如果看到了git这个选项,证明git插件已经安装上了

好接下来配置git

从gitlab上面拷贝项目是需要登陆的,这里我们配置密钥后,才可以将项目代码克隆下来

1、先在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::cd:ef:d3:::a4::ff root@node1.chinasoft.com
The key's randomart image is:
+--[ RSA ]----+
| |
| |
| |
| . . |
| 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:公钥

2、在gitlab上配置公钥

1

2

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

3、在jenkins上配置私钥

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

全局配置:

1

2

3

4

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

下面来测试一下

新建一个任务

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

可以查看输出

安装MSbuild

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

插件安装后要重启jenkins

6 jenkins 配置

非必须的

主目录修改

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

改工作路径最好一开始就改好,否则会很麻烦,如果你配置并投入了运行再改的话,按照我下面的方法配置,会发现这相当于一个全新的服务,之前的配置和插件都没有了,当然网上也有解决办法,我没试

这是win10上的操作

1、添加环境变量JENKINS_HOME 值是工作主目录

2、创建你的主目录 D:\mywork\jenkins

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

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

将这一句

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

改为

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

4、重启或者启动

重启: localhost:8080/restart

退出:localhost:8080/exit

重启或退出后如果出现网页打不开了,可以看一下jenkins服务是否没有起来,我的电脑-》管理-》服务和应用程序-》服务

如果没有启动就手动起一下,我的就是手动起来的,然后就好了

如果要卸载,可以先把服务停了,直接将jenkis文件夹删除就好了,然后重新安装

5、看一下主目录

创建用户

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

构建一个简单的c#项目

1、准备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)版本,不设置会报错

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

触发构建

定时构建

一、定时构建语法

* * * * *

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

第一颗*表示分钟,取值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

jenkins学习笔记的更多相关文章

  1. Jenkins 学习笔记

    Jenkins 的内容网站蛮多的,但是一开始我看起来确实很费劲.似乎好多东西都是悬空的,没有把底层的信息交代清楚. 我把自己对于 Jenkins 的探索过程记录下来,如下. 目录 Jenkins 学习 ...

  2. Jenkins 学习笔记(三):我们的JAVA 项目是这么发布的

    发布拓扑 1. 拓扑图 2. 流程说明: Git 插件从 Git Server 上面拉取源代码. Maven 插件将源代码安装我们设定的指令进行编译打包,存放于项目的 WorkSpace. Publi ...

  3. Jenkins 学习笔记(二):很简单的发布一次

    发布思路:从 github 拉取一些文件,然后推送到 Target server 的某个目录. 准备 1. Jenkins 需要安装的插件:『 Publish over SSH 』 2. 全局配置:系 ...

  4. Jenkins 学习笔记(一):我对 Jenkins 的宏观认识

    Jenkins 是一个持续构建的系统,通过一周的了解熟悉,其逻辑似乎很简单. Jenkins 拓扑 Jenkins 逻辑 1. 从代码库拉取代码. 2. 处理代码. 对于需要编译的程序,需要进行处理, ...

  5. Jenkins 学习笔记(一)

    Jenkins 要学习Jenkins首先要了解一个概念---持续集成,持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次 ...

  6. jenkins学习笔记(一)

    windows下安装jenkins步骤 1.下载 官网路径:https://jenkins.io/ 2.安装 直接双击安装程序即可 centos7下安装命令: wget -O /etc/yum.rep ...

  7. gitlab+jenkins学习笔记

    一.部署gitlab gitlab部署我采用的是docker的方式,这种方式的优势是方便:之前部署过非docker的gitlab,需要配置安装许多东西,太麻烦,还是docker部署方便,从官网pull ...

  8. python + unittest 做单元测试之学习笔记

    单元测试在保证开发效率.可维护性和软件质量等方面有很重要的地位,所谓的单元测试,就是对一个类,一个模块或者一个函数进行正确性检测的一种测试方式. 这里主要是就应用 python + unitest 做 ...

  9. SpringCloud微服务学习笔记

    SpringCloud微服务学习笔记 项目地址: https://github.com/taoweidong/Micro-service-learning 单体架构(Monolithic架构) Mon ...

随机推荐

  1. AngularJS入门讲解3:$http服务和路由讲解

    上一课的例子中,我们的模型数据是硬编码的,也就是说,我们的数据不是从服务器请求回来的. 这里,我们先讲解,如何从服务器获取数据: function PhoneListCtrl($scope, $htt ...

  2. ASP.NET MVC 发布后 IE 访问出现布局错乱问题

    ASP.NET MVC 网页debug启动跑一切正常,[Chrome],[FireFox],[Edge],[IE11] 发布后,使用机器名访问,[IE11]出现布局不正常的问题, 在head里:加↓可 ...

  3. mxonline实战2, 后台管理神器xadmin

          对应github地址:xadmin的使用   第三天:xadmin的安装以及各应用模型的后台管理注册     一. 安装xamdin     1. 源码包下载地址 https://gith ...

  4. (二)Python 装饰器

    1. 函数 在 Python 中,使用关键字 def 和一个函数名以及一个可选的参数列表来定义函数.函数使用 return 关键字来返回值.定义和使用一个最简单的函数例子: >>> ...

  5. 2016级算法期末模拟练习赛-F.AlvinZH的青春记忆IV

    1086 AlvinZH的青春记忆IV 思路 难题,动态规划. 这是一道很有意思的题,因为它不仅卡了时间,也卡了空间,而且卡的很妙很迷. 光是理解题意已经有点难度,简化题意:两串数字序列,相等的数字定 ...

  6. Welcome! This is the documentation for Python 3.6.8

    The Zen of Python, by Tim Peters Beautiful is better than ugly.Explicit is better than implicit.Simp ...

  7. PTA 这是二叉搜索树吗?

    https://pintia.cn/problem-sets/994805046380707840/problems/994805070971912192 #include<iostream&g ...

  8. CodeForces - 556C-Case of Matryoshkas(思维)

    Andrewid the Android is a galaxy-famous detective. He is now investigating the case of vandalism at ...

  9. Android之build.prop属性详解

    注:本篇文章是基于MSD648项目(AndroidTV)的prop进行说明. Android版本:4.4.4 内核版本:3.10.86 1.生成build.prop build.prop的生成是由ma ...

  10. 线段树+单调栈+前缀和--2019icpc南昌网络赛I

    线段树+单调栈+前缀和--2019icpc南昌网络赛I Alice has a magic array. She suggests that the value of a interval is eq ...