下载Jenkins
安装Jenkins【文档】
rar 命令
1、Jenkins ready
2、解锁 Jenkins
按照提示打开“E:\Jenkins\secrets\initialAdminPassword”文件【记事本打开即可】,里边有一串数字,复制粘贴即可。
插件管理
NodeJS Plugin(构建工具)
Publish Over SSH(用于远程发送构建好的包到服务器)
或
*、NodeJS Plugin 配置
*、Publish Over SSH(用于远程发送构建好的包到服务器)
Manage Jenkins -> Configure System -> Publish over SSH
Publish over SSH
● 备注1: 添加多个部署机器时,默认是使用之前配置的Passphrase或Key,如果配置不一样,只需在高级中勾选Use password authentication, or use a different key,重新填写即可。
● 备注2: 同时操作多台部署服务器时,可以将Jenkins所在宿主机的public_key添加到所有待部署服务器上,这样jenkins配置中只需要填写一个Key就可以了而不必密码方式登录。
1、Jenkins 修改密码
为了确保管理员安全地安装 Jenkins,密码已写入到日志中(不知道在哪里?)该文件在服务器上:
C:\Program Files (x86)\Jenkins\users\admin_7783621855548384788/config.xml
打开该配置文件找到<passwordHash>节点
000000加密后
<passwordHash>#jbcrypt:$2a$10$yoMoVesOel4/fbXSkc53TuXn6wP9R9I9tx3wMdPJ3n5OfHSrQq./i</passwordHash>
123456加密后
<passwordHash>#jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq</passwordHash>
2、重启服务
管理工具 -> 服务 -> 找到 Jenkins 服务 -> 重新启动
DOS命令行 -> services.msc -> 找到 Jenkins 服务 -> 重新启动
3、访问地址
http://localhost:8080/
admin
000000
4、三个阶段
构建【Build】、测试【Test】、部署【Deploy】
5、新建Item【Jenkins创建自由风格的任务】
6、配置任务【源码、构建】
配置Jenkins任务主要配置两点,第一源码管理,第二是构建;
源码管理:分为 Git 和 SVN(Subversion),
构建:如果 Linux 部署构建命令执行shell脚本,如果 Windows 部署,我们需要构建命令bat脚本;
添加凭据
构建
无论发布什么类型的项目比如.NET Core,Vue,请根据操作系统选择正确的类型,是 Windows Or lLinux 系统
如果 Windows 部署,构建命令 bat 脚本;
如果 Linux 部署,构建命令 shell 脚本;
Execute Windows batch command【重点】
dotnet restore
dotnet build
dotnet publish
cd E:\Jenkins\workspace\Nurse.PAD
del NursePAD.rar
cd E:\Jenkins\workspace\Nurse.PAD\MobileNurse.WebAPI\bin\Debug\netcoreapp3.0\publish
del appsettings.Development.json
del appsettings.json
rar a -r E:\Jenkins\workspace\Nurse.PAD\NursePAD.rar
构建后操作【Send build artifacts over SSH】
Exec command【重点】
cd /home/Administrator/.ssh/test
C:\Windows\System32\inetsrv\appcmd.exe stop site JY.NURSE.PAD
rar x -o+ C:/Users/Administrator/.ssh/test/NursePAD.rar E:/IIS/MobileNurse/Api
C:\Windows\System32\inetsrv\appcmd.exe start site JY.NURSE.PAD
注意:【Configure System -> Remote Directory】和【构建后操作(Send build artifacts over SSH) -> Remote directory】是有关联关系的
注意:【Configure System -> Remote Directory】和【构建后操作(Send build artifacts over SSH) -> Remote directory】是有关联关系的
注意:【Configure System -> Remote Directory】和【构建后操作(Send build artifacts over SSH) -> Remote directory】是有关联关系的
方式一
如果【Manage Jenkins -> Configure System -> Publish over SSH -> SSH Servers -> Remote Directory 是 /home/Administrator/.ssh/test】服务器绝对路径:【C:\Profram Files\OpenSSH\home\Administrator\.ssh\test】
那么【Jenkins -> 某个项目 -> 构建后操作(Send build artifacts over SSH) -> SSH Publishers -> Transfers -> Remote directory 什么都不写】
方式二
如果【Manage Jenkins -> Configure System -> Publish over SSH -> SSH Servers -> Remote Directory 是 /home/Administrator】服务器绝对路径:【C:\Profram Files\OpenSSH\home\Administrator\.ssh\test】
那么【Jenkins -> 某个项目 -> 构建后操作(Send build artifacts over SSH) -> SSH Publishers -> Transfers -> Remote directory 是 /.ssh/test】
添加rar环境变量【重启电脑之后,Jenkins才会生效识别】
电脑右键属性 -> 高级系统设置 -> 环境变量 -> 系统变量 -> 选择path -> 编辑 -> 新建 -> C:\Program Files\WinRAR -> 确定
7、Build Now 启动流水
选择某一个工程之后,项目列表中选中一个项目
或
*
*
服务器端地址
连接服务器
*
*
*
*
*、rar 命令
rar a -r abcd.rar #压缩到指定目录
rar a -r E:\Jenkins\workspace\Nurse.PAD\abcd.rar #压缩到指定目录
rar a -r e:\1234.rar E:\a 【rar a -r 压缩包存放路径.rar 被压缩的文件路径】 #压缩到指定目录
rar x -o+ -ep1 E:\Jenkins\workspace\Nurse.PAD\abcd.rar E:\a #解压到指定目录
rar x -o+ E:\Jenkins\workspace\Nurse.PAD\abcd.rar E:\a #解压到指定目录
unrar x -o+ E:\Jenkins\workspace\Nurse.PAD\abcd.rar E:\a #解压到指定目录
del abcd.rar #删除文件
copy E:\log4net.config F:\ #复制粘贴文件
C:\Windows\System32\inetsrv\appcmd.exe stop site JY.NURSE.PAD #停止iis
C:\Windows\System32\inetsrv\appcmd.exe start site JY.NURSE.PAD #启动iis
*
*