Jfrog Maven jenkins pipeline 流水线 培训 简单实验
1. 公司购买了一套jfrog artifactory ,然后厂商组织了一次培训 本次简单记录一下 jenkins和jfrog 二进制仓库的简单连接使用
2. 前期环境准备.
scp jdk的tar包以及 jenkins的war包到linux机器.
安装git
yum install -y git
3. 安装jenkins
解压缩tar包
tar -xvf jdk-8u121-linux-x64.tar.gz
增加环境变量
vim ~/.bash_profile
增加内容
export JAVA_HOME=/jfrog/jdk-8u121
环境变量生效
source ~/.bash_profile
运行 jenkins
java -jar jenkins.war
4. 初始化jenkins
获取jenkins的密码
vim /root/.jenkins/secrets/initialAdminPassword
安装推荐的初始化包

5. 安装实验需要的插件
主要有:
artifactory
groovy
groovy postbuild
maven
6. 在jfrog artifactory 创建 maven 仓库

new 一个

可以定义两个 ,一个是 release 一个snapshot的
6. 创建一个 jenkins的任务

选择为pipeline 的方式 输入名称,选择流水线, 然后 确定即可.

进行配置

输入 测试用的 脚本
node {
def server = Artifactory.newServer url: SERVER_URL, credentialsId: CREDENTIALS
def rtMaven = Artifactory.newMavenBuild()
stage 'Build'
git url: 'https://github.com/wj20160308/project-examples.git'
stage 'Artifactory configuration'
def Java_home=tool name: 'jdk1.8', type: 'jdk'
env.JAVA_HOME=Java_home
rtMaven.tool = MAVEN_TOOL // Tool name from Jenkins configuration
rtMaven.deployer releaseRepo:'wangj-release-local', snapshotRepo:'wangj-snapshots-local', server: server
rtMaven.resolver releaseRepo:'libs-release', snapshotRepo:'libs-snapshot', server: server
rtMaven.deployer.addProperty("unit-test", "pass").addProperty("qa-team", "platform", "ui")
def buildInfo = Artifactory.newBuildInfo()
buildInfo.env.capture = true
stage 'Exec Maven'
rtMaven.run pom: 'maven-example/pom.xml', goals: 'clean install', buildInfo: buildInfo
stage 'Publish & Scan'
step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
if (reportOnTestsForBuild ()) {
currentBuild.result = 'UNSTABLE'
}
server.publishBuildInfo buildInfo
}
@NonCPS
def reportOnTestsForBuild () {
def failedTests = []
def build = manager.build
if (build.getAction(hudson.tasks.junit.TestResultAction.class) == null) {
println "No Tests"
return true
}
def result = build.getAction(hudson.tasks.junit.TestResultAction.class).result
if ((result == null)) {
println "No test results"
return true
} else {
println "Failed test count: " + result.getFailCount()
println "Passed test count: " + result.getPassCount()
failedTests = result.getFailedTests()
failedTests.each { test ->
println test.name
}
return (result.getFailCount())
}
}
插入脚本的位置为--- 并且取消掉 沙盒运行 避免出现bug

注意要修改 脚本里面的参数 比如 releaseRepo 里面的 对象.
然后根据脚本里面的内容进行添加 参数
SERVER_URL 定义字符参数即可

另外一个 需要定义为:

这个里面需要输入 jfrog artifactory的用户密码
还有一个 MAVEN_TOOL的参数 定义上.

需要在全局工具配置中增加maven

然后新增 maven 与参数对应上

设置完成后 进行build

编译过程中 可以查看 控制台输出

Jfrog Maven jenkins pipeline 流水线 培训 简单实验的更多相关文章
- jfrog artifactory jenkins pipeline 集成
1. 预备环境 artifactory ( 开源版本 ) maven jenkins jenkins artifactory plugin (在插件管理安装即可) 2. 配置artifactory ...
- Kubernetes DevOps: Jenkins Pipeline (流水线)
要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式.Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于 ...
- jenkins pipeline 流水线生产
jenkins pipeline : pipeline { agent any parameters { string(name: 'git_version', defaultValue: 'v1.1 ...
- 使用Jenkins pipeline流水线构建docker镜像和发布
新建一个pipeline job 选择Pipeline任务,然后进入配置页面. 对于Pipeline, Definition选择 "Pipeline script from SCM" ...
- jenkins的流水线pipeline+项目实验php
声明:实验环境使用Jenkins的应用与搭建的环境 新建一个流水线 pipeline脚本语法架构 node('slave节点名'){ def 变量 #def可以进行变量声明 stage('阶段名A') ...
- 基于Jenkins Pipeline的ASP.NET Core持续集成实践
最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署效率,因此这里总结一下. 一.关于持续集成与Jenkins Pipelin ...
- Jenkins pipeline job 根据参数动态获取触发事件的分支
此文需要有Jenkins pipeline job 的简单使用经验 场景 我们日常的测试函数, 一般是不能仅仅在本地跑的,还需要一个公共的跑测试的环境,作为合并新的PR的依据. 如果用Jenkins ...
- Jfrog Artifactory jenkins 流水线使用docker的方式培训[暂未成功]
1. 创建jenkins的流水线 2. 创建artifactory的镜像仓库 3. 创建generic的仓库上传需要的 war包还有tar包. 4. 修改pipeline的 脚本 主要修改的地方. 修 ...
- 【07】Jenkins:流水线(Pipeline)
写在前面的话 个人认为 Pipeline 在 Jenkins 中算是一个优化性功能,它能够将我们的构建服务的整个过程流程化,这意味着当我们在执行到某一步的时候,可以添加询问,提示我们是否继续运行下一步 ...
随机推荐
- Excel中IF函数的嵌套用法(多条件)
Excel中IF函数的嵌套用法(多条件) Excel中IF函数的嵌套用法(多条件) 函数格式:if(logical_test,value_if_true,value_if_false).其中: ...
- ADB安装及使用
环境安装: 下载.安装和配置ADB https://jingyan.baidu.com/article/22fe7cedf67e353002617f25.html 安装驱动adbdriver ...
- MATLAB——读取xls文件内容
[NUM,TXT,RAW]=xlsread('example',2,'B2:B261') NUM返回的是excel中的数据, TXT输出的是文本内容, RAW输出的是未处理数据 example:是需要 ...
- 20175310 《Java程序设计》第3周学习总结
20175310<Java程序设计>第3周学习总结 教材学习内容总结 本周学习了第四章的内容,相比前三章来说,第四章内容较多而且比较复杂,花了大量的时间学习.学习的主要内容如下: 类.方法 ...
- gitlab分支代码本地拉取及jenkins关联gitlab分支
git本地拉取 git init git remote add origin http://47.*.*.*:8089/back_dev/claimeureka.git git fetch origi ...
- B类——Stas and the Queue at the Buffet
http://codeforces.com/contest/1151/problem/D 题意: n个学生,每个学生都有自己的位置,最后要使
- 【Codeforces 115D】Unambiguous Arithmetic Expression
Codeforces 115 D 题意:给一个没有括号的表达式,问有多少种添加括号的方法使得这是一个合法的表达式?输入可能有正负号.加减乘除.数字. 思路1: 这是不能过的\(naive\)的\(dp ...
- Android开发之加载GIF图片
一.加载GIF图片我用的是GitHub上的开源库:android-gif-drawable,项目地址:https://github.com/koral--/android-gif-drawable 二 ...
- DNS主从复制及区域传送
前言 DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向.反向解析了.从服务器向主服务器查询更新数据,保证数据一致性,此为区域传送.也可以说,DNS区域传 ...
- java算法----排序----(3)冒泡排序
package log; public class Test4 { /** * java算法---冒泡排序 * * @param args */ public static void main(Str ...