Jenkins使用操作手册
Jenkins的安装非常简单,可以找个Jenkins的war包,直接放在Tomcat下启动Tomcat就行;这里有war包,也可以自己在网上找。
链接:https://pan.baidu.com/s/18NAW2BfizdP4WZhsn6pkzA
提取码:cirw
Jenkins基础配置
登录Jenkins之后,点击系统管理->插件管理;安装所需要的插件,几个基础插件如:GitLab Plugin,publish over ssh,Maven Integration plugin,等。
Jenkins配置ssh
点击系统管理->系统配置;下拉找到Publish over SSH;
- 这是你安装Jenkins的服务器秘钥信息
- Passphrase 是你生成秘钥时的密码,没有就不填;
- Path to key 是你的私钥地址
- Key 是你的私钥内容,要是填了就以这个为准,不回去找你上边填的地址中的私钥,也可以不填,它会自动读取你上述文件地址中的私钥。
- 下边是你要ssh连接的服务器信息
- Name 随便起
- Hostname 是你服务器IP
- Username 是你登录该服务器的用户名
- RemoteDirectory 是你登录进去之后所在的目录
- 点击高级,勾选 Use password,填写密码
- 点击右下角Test Configuration,测试是否可以连接成功
配置Gitlab
系统配置中找到gitlab项
- Connection name 随便起
- Gitlab host URL 填写你的gitlab服务器地址
- Credentials 点击添加凭据,并填写你的gitlab账号密码
Jenkins新建任务
- 新建任务->构建一个maven项目
- 源码管理->git
Repository URL 填写git项目地址
Credentials 选择凭证
Branches to build 指定分支
3. build
Root POM 默认不用改
Goals and options
4. 构建后操作
添加构建后操作,选send build artifact over SSH,将构建后的项目包通过SSH发送
- Name 选我们在设置中添加的SSH服务器;
- Source files 是我们要发送的文件;**/*war;
- Remove prefix 移除前缀
- Remote directory 远程文件夹,(注意这里的跟是我们在系统配置中配置的文件夹为跟文件夹,而并非linux系统的"/")
- Exec command 这里配置我们在远程服务器上提前编写好的脚本,Jenkins只是将打好的war包发送到远程服务器,但是发送到服务器之后的的操作则需要我们自己编写脚本实现,比如需要修改包名,移动位置,等。
但是发送到服务器之后的的操作则需要我们自己编写脚本实现,比如需要修改包名,移动位置,等。
Jenkins新建node项目
-
要创建node项目需要先下载插件NodeJS Plugin
-
点击新建任务->构建一个自由风格的软件项目 ,填写项目名;
-
勾选丢弃旧的构建,节省内存
-
源码管理与上边maven项目的相同,填写gitlab地址以及分支;
-
构建环境中勾选node;
安装好node插件之后,这里的项都会自动填上,我们只需勾选就行。
-
构建
添加构建步骤->执行shell;
再次添加构建步骤->send files or execute commands over SSH
- 在shell窗口中填写命令
npm install --registry=https://registry.npm.taobao.org
npm run build
上边命令只是将node项目进行build,之后我们需要对build完成的项目进行打包,以便于后边发送;
打包的命令我们可以写在shell脚本中,也可以直接写在这里,写在脚本中的话我们需要在这里写出脚本的绝对路径以执行。
- 脚本内容
#!/bin/bash
DIR=`pwd`
rm -rf ${DIR}/*.tar.gz
rm -rf ${DIR}/${1}
mv ${DIR}/dist ${DIR}/${1}
tar -zcvf ${1}.tar.gz ${1}
这个命令在执行的时候需要进行传参,参数就是我们打成包之后的包名;
- shell命令行中的完整写法如下:
npm install --registry=https://registry.npm.taobao.org
npm run build
/home/jicheng/web_tar.sh cesweb ##!!!修改分支时要同时修改此处参数,参数为项目前端名称
- send files or execute commands over SSH模块
此处跟上边maven项目的SSH模块是差不多的;根据自己的情况填写即可。