windows10中jenkins使用教程

参考龙恩:Jenkins 实现前端自动打包,自动部署代码及邮件提醒功能

准备JAVA环境

1、下载jdk。

jdk jre jvm的关系

链接:https://pan.baidu.com/s/1R9RZ3hGqGT2_p9IlnNUxyQ
提取码:dcrs
--来自百度网盘超级会员V5的分享
2、配置环境变量。

双击安装
在相应安装目录下,找到其bin目录,将该目录配置到系统环境变量。

Jenkins下载安装

1、下载

jenkins下载地址

image.png

2、安装

双击安装,下一步下一步即可。

报错:

image.png

报错原因:需要配置用户组与权限。
解决办法:

官网请参考:https://www.jenkins.io/doc/book/installing/windows/#invalid-service-logon-credentials

我的解决办法:

安装要在域用户帐户下运行的服务时,该帐户必须有权登录为服务.此登录权限严格适用于本地计算机,并且必须在本地安全策略中授予. 执行以下操作,以编辑要定义"作为服务登录"权限的计算机的本地安全策略:

  1. 使用管理特权登录到计算机.
  2. 打开"管理工具",然后打开"本地安全策略"
  3. 展开"本地政策",然后点击"用户权限分配"
  4. 在右窗格中,右键单击"作为服务登录",然后选择属性.
  5. 单击"添加用户或组..."按钮以添加新用户.
  6. 在"选择用户或组"对话框中,点击“高级”--“立即查找”,在搜索结果中选择您想要输入的用户,然后单击"确定“


    image.png
  7. 在"作为服务登录"属性中单击"确定"以保存更改.


    image.png

成功:


image.png

注意:

jenkins和jdk版本有一定对应关系,我的是jenkins2.303 jdk11
windows10家庭版没有用户组与权限配置,需要添加,添加步骤如下:

  1. 新建txt内容如下:
@echo off
 
pushd "%~dp0"
 
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
 
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
 
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"

pause
  1. 保存为.bat文件
  2. 以管理员运行即可添加用户组与权限:


    image.png

应用初始化

1、使用初始密码登录
Jenkins安装后自动打开http://localhost:8080/,需要密码登录,初始密码在用户目录的对应文件中:
C:\Users\gwq\AppData\Local\Jenkins.jenkins\secrets\initialAdminPassword

2、安装默认插件

点击安装推荐的插件即可

image.png

image.png

3、创建第一个管理员用户
安装完成后,我们需要 创建第一个管理员用户。
image.png

image.png

Jenkins实现自动化部署

1、获取访问github的token值

如果要实现自动构建的话,Jenkins需要获得远程代码仓库Github的读取权。

点击右上角的 Github --> setting --> Developer settting --> Personal access tokens -> 点击Generate new token 填写如下所示的内容:


image.png

创建成功后,会生成一个token的值如下:

image.png

2、实现内网穿透

Ngrok的用途是:将内网的IP映射成对外可访问的域名。

(1)官网注册为会员
(2)Ngrok教程
(3)启动客户端

./sunny.exe clientid xxxxxx

3、 Github webhooks设置
进入Github上指定的项目 --> setting -> WebHooks --> add webhook, 如下图所示:

github webhooks设置

完成后,点击下面 add webhooks 按钮,即可创建完成,如下图所示:
成功添加钩子

4、安装Github Plugin

点击 Manage Jenkins -> Manage Plugins -> 可选插件, 如下图所示:


插件安装

点击下面的 "直接安装" 按钮, Jenkins会自动帮我们解决插件的依赖。如下图所示:


jenkins插件安装

如果打开Manage Jenkins提示反向代理设置有误,如下图:


反向代理设置有误

则打开系统设置界面,将1与2处url填写一致即可,如下:


系统设置 Jenkins Url

5、配置Github Plugin
Manage Jenkins -> Configure System -> Github -> 点击添加Github服务器, 如下图所示:

凭据添加按钮

如上,我们之前已经生成了token之后。在如上配置中,我们页面中的类型选择 Secret text,在Secret中黏贴Github生成的Token,id和描述可以随便写,或不填。

最后点击添加按钮后,会回到主页面,在凭据中选择我们刚才创建的凭据,然后我们点击 "链接测试"。如果没有成功的话,则需要返回重新操作以上步骤,如下所示,我们只要点击保存完成配置即可,如下图所示:


测试连接

注意,token添加成功后,前面下拉列表要选择对应的id:


token ID

6、 Jenkins中创建任务

Jenkins创建人物

填写任务名称

因此准备工作已经完成了,我们输入任务名称后,选择第一项后,点击底部的确定按钮,就可以进入下一步的页面了,如下图所示:
任务页面

如上选择Github,填写项目的URL,该地址是我们Github上的主页地址,不是github仓库地址。
源码管理

打开刚刚我们创建的任务,切换到 "源码管理" tab项,然后在左侧选择 Git,然后我们把我们的github项目中的仓库地址,添加配置登录名和密码(点击添加会弹出一个框,我们默认操作就行),及分支。如下图所示:

源码管理

构建触发器

构建触发器

构建环境

构建环境

其他暂时不用配置。配置完成后,我们再回到列表页面,看到基本的效果如下图所示,现在我们在本地项目代码再push一下,看是否发生了变化。


构建列表

如上我们可以看到,我们每次代码push的时候,Jenkins会自动帮我们构建一次,但是它有几秒钟的延迟,如果我们立即push完成后,刷新页面后,并没有立即看到构建完成,而要过几秒钟再看下就可以了。

我们也可以看看控制台输出的信息也可以看得到如下信息,代表构建了。如下:


控制台输出

但上图显然是构建失败了,因为在项目配置中源码管理这一栏,git仓库的master分支在jenkins里叫做main


master--->main

构建成功

如上只是简单使用我们的github中的push命令后,在Jenkins中构建一下我们的代码,但是我们都明白我们希望的是,我们的push命令后,在Jenkins上会帮我们自动打包,比如像webpack中一样,调用npm run build 这样的命令后,打包到dist文件夹内,然后把dist文件夹内的所有代码放到ftp服务器下,因此我们想使用jenkins是否也能实现这样的呢?

实现自动化构建

如上git push 触发钩子后,jenkins就可以开始工作了,我们之前使用webpack打包的,我们现在放到Jenkins来做这件事。

在我们的package.json 文件中有如下二个命令:

"scripts": {
  "dev": "webpack-dev-server --progress --colors --devtool cheap-module-eval-source-map --hot --inline",
  "build": "webpack --progress --colors --devtool cheap-module-source-map"
},

为了能在Jenkins能自动打包构建,首先我们需要安装依赖包,使用命令:npm install,最后使用npm run build 构建文件。因此会使用到如下两个命令:

npm install 
npm run build

我们想要在jenkins里面执行npm命令的话,首先我们需要在jenkins里面配置node环境,我们可以通过配置环境变量的方式引入node,也可以通过安装插件的方式来引入的,我们这边使用插件的方式吧,安装一下 nvm wrapper 这个插件。
(1)在Jenkins中安装NodeJS Plugin
在插件管理界面搜索NodeJS,找到后,安装,重启,如下所示:

安装nodejs

(2)全局配置中安装NodeJS
Manage Jenkins -> Global Tool Configuration -> NodeJs(点击新增NodeJS按钮) 如下图所示:
配置全局nodejs

点击保存按钮即可。
(3) 在构建环境配置下安装nodejs

构建环境勾选 Provide Node & npm bin/folder to PATH,如下图所示:

构建环境中添加

每次build,都会首先执行环境构建,如果环境没有错误后,才会开始真正的实现构建过程。
(4) 构建

我们现在可以把我们的打包命令放到构建中了,在构建过程中会执行该命令进行打包。如下命令:

npm config set registry http://registry.npm.taobao.org/ && npm install && rm -rf dist && npm run build

如下所示:


构建命令

然后我们就可以点击保存按钮了。

此时我在本地项目中改下代码,然后使用git push代码上去的时候,就可以测试下,在push的过程中,再看看Jenkins中如下所示:


构建状态示例

然后点击下面正在的的构建,控制台输出选项,如下图所示:


构建状态

构建控制台输出

你可能感兴趣的:(windows10中jenkins使用教程)