jenkins工具集成
以宿主机为agent:Jenkins 添加node
# 集成Npm
node_Release (opens new window) / node-v12.18.3-linux-x64.tar.gz (opens new window)
# Agent 安装 node
test -d /data/soft || mkdir -p /data/soft && cd /data/soft
wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.gz
tar xf node-v12.18.3-linux-x64.tar.gz -C /usr/local/
#添加全局变量(/etc/profile)
export NODE_HOME=/usr/local/node-v12.18.3-linux-x64
export PATH=$PATH:$NODE_HOME/bin
source /etc/profile
2
3
4
5
6
7
在Jenkins全局工具配置中并没有node,可以直接通过Jenkinsfile定义使用。
编写Jenkinsfile
#!groovy
pipeline {
agent any
stages {
stage ("Print npm"){
steps {
script {
sh """
export npmHome=/usr/local/node-v12.18.3-linux-x64
export PATH=\$PATH:\$npmHome/bin
npm -v
"""
}
}
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- 测试构建
# npm 命令
设置成淘宝源:npm config set registry https://registry.npm.taobao.org
,(内容存在 ~/.npmrc)
查看结果:npm config get registry
在命令行里指定源:npm --registry https://registry.npm.taobao.org install [name]
单个包指定源:npm config set chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
安装模块:npm install
清除缓存:npm cache clean
检查模块是否过时:npm outdated
# 集成Ant
最新版本截图
Apache-ant 下载页 (opens new window)
# Agent 安装ant
test -d /data/soft || mkdir -p /data/soft && cd /data/soft
wget https://dlcdn.apache.org//ant/binaries/apache-ant-1.10.12-bin.tar.gz
tar xf apache-ant-1.10.12-bin.tar.gz -C /usr/local/
#添加全局变量(/etc/profile)
export ANT_HOME=/usr/local/apache-ant-1.10.12
export PATH=$PATH:$MAVEN_HOME/bin:$ANT_HOME/bin
source /etc/profile
2
3
4
5
6
7
# Jenkins配置 ant
安装插件:ant
- 配置jenkins Global
Manage Jenkins => Global Tool Configuration => Ant
- 编写Jenkinsfile
#!groovy
pipeline {
agent any
stages {
stage ("Print Ant"){
steps {
script {
antHome = tool 'ANT'
sh "${antHome}/bin/ant -version"
}
}
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
- 测试构建
ant有一个很致命的缺陷,那就是没办法管理依赖。我们一个工程,要使用很多第三方工具,不同的工具,不同的版本。 每次打包都要自己手动去把正确的版本拷到lib下面去,不用说,这个工作既枯燥还特别容易出错。
# 集成Maven
提示: JDK:在maven3.3 以上的版本需要JDK版本1.7+。内存:没有最低限制。
maven-3_Release (opens new window)
最新版本截图
# Agent 安装maven
test -d /data/soft || mkdir -p /data/soft && cd /data/soft
wget https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar xf apache-maven-3.6.3-bin.tar.gz -C /usr/local/
#设置全局变量(/etc/profile)
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile
2
3
4
5
6
7
# Jenkins配置 maven
- 配置jenkins Global
Manage Jenkins => Global Tool Configuration => Maven
- 编写Jenkinsfile
#!groovy
pipeline {
agent any
stages {
stage ("Print Maven3"){
steps {
script {
mavenHome = tool 'Maven3'
sh "${mavenHome}/bin/mvn -v"
}
}
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
- 测试构建
# mvn 命令
package < install < deploy (三个命令都有:项目编译、单元测试、打包功能)
package : *没有*把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install :同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但*没有*布署到远程maven私服仓库
deploy :同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
不需要部署到私服:mvn clean package install -Dmaven.test.skip=true -U -T $(nproc)
部署到私服:mvn clean deploy -Dmaven.test.skip=true -T $(nproc)
# 集成gradle
gradle_Releases (opens new window) / gradle-v6.8.2.tar.gz (opens new window)
- 配置jdk
# Agent 安装 gradle
test -d /data/soft || mkdir -p /data/soft && cd /data/soft
#wget https://github.com/gradle/gradle/archive/refs/tags/v6.8.2.tar.gz
#tar xf v6.8.2.tar.gz
#cd gradle-6.8.2 && cp -a gradlew /usr/local/bin/gradle
wget https://services.gradle.org/distributions/gradle-6.8.2-bin.zip
unzip gradle-6.8.2-bin.zip -d /usr/local/
#添加全局变量(/etc/profile)
export GRADLE_HOME=/usr/local/gradle-6.8.2
export PATH=$PATH:$GRADLE_HOME/bin
source /etc/profile
2
3
4
5
6
7
8
9
10
11
12
# 配置sdkmanager
# Jenkins配置 gradle
安装插件:Gradle
- 配置jenkins Global
Manage Jenkins => Global Tool Configuration => Gradle
- 编写Jenkinsfile
#!groovy
pipeline {
agent any
stages {
stage ("Print Gradle"){
steps {
script {
gradleHome = tool 'GRADLE'
sh "${gradleHome}/bin/gradle -v"
}
}
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
- 测试构建
# gradle 命令
一般打包存放路径: 统一在app/build/outputs/apk/[debug|release]目录下。
gradle -v 版本号,首次运行,没有gradle的要下载的哦。
gradle clean 删除HelloWord/app目录下的build文件夹
gradle build -x test 检查依赖并编译打包
gradle assembleDebug 编译并打Debug包
gradle assembleRelease 编译并打Release的包
gradle installRelease Release模式打包并安装
gradle uninstallRelease 卸载Release模式包