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. Windows Python Extension Packages

    备注: 1.先要安装wheel库:pip install wheel 2.下载wheel,切换至下载路径,然后安装:pip install wheel库名.whl Windows Python Ext ...

  2. Get 和 Post 方法的选择和URL的设计

    原文链接:http://yifei.me/note/540 HTTP 中常用的方法有 GET/POST/PUT/DELETE 等,在设计API或者表单的时候我们需要选择合适的方法.一般有两种方案: 只 ...

  3. SQL 中用户建立与权限授予

    SQL 中用户建立与权限授予 一.原有 如果大家对我的博客动态非常关注的话,应该又看到我弄了一个随机MAN信息的小工具.但是呢,那个工具还有待加强(显示效果不是那么的好). 所以我就希望可以显示一些简 ...

  4. Linux nl --让输出的文件内容自动加上行号

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

  5. python web开发学习笔记一:javascript基础

    一.认识js: 能进入到软件所实习是我的最大的收获,也是我的荣幸,我相信努力付出一定能够换回收获. 项目最先开始的是接触到web前端的一些内容,我们需要利用flask搭建应该有的框架.我有一些pyth ...

  6. 【C#】自定义新建一个DataTable(3列),循环3维矩形数组往其填充数据

    从中可以了解DataTable的新增行和列;矩形多维数组循环机制;新建了DataTable DataTable dt = new DataTable(); DataColumn dc1 = new D ...

  7. 2016级算法第六次上机-B.ModricWang's FFT : EASY VERSION

    1114 ModricWang's FFT EASY VERSION 思路 利用FFT做大整数乘法,实际上是把大整数变成多项式,然后做多项式乘法. 例如,对于\(1234\),改写成\(f(x)=1* ...

  8. 手动抠下的wordpress登录页面样式

    CSS文件 login.css body, html { height: 100%; margin: 0; padding: 0; } html[Attributes Style] { -webkit ...

  9. 蓝牙4.0BLE抓包(一) - 搭建EN-Dongle工作环境 使用EN-Dongle抓包 nRF51822

     版权声明:本文为博主原创文章,转载请注明作者和出处.           蓝牙4.0 BLE的开发过程中,使用抓包器进行抓包分析无疑会极大地提高我们的开发效率,同时能帮我们快速的定位问题.对于初学者 ...

  10. Xamarin Mono For Android 4.6.07004看不到新建android

    有很多朋友安装了Xamarin Mono For Android 4.6.07004看不到新建android项目 PS 官方安装包有BUG,在某些情况下可能会出现丢失VS插件的情况 (遇到此BUG请下 ...