Since Jenkins Pipeline has reached a certain state of production scripted pipelines are the way to go.
But: Not everything known from the UI is available in Pipeline and configuring and writing scripts is not so easy for the normal developer.
The target of this library is to take out some complexity (and yes
adding some too) of the pipeline creation and to bring back some known
functionality (for example GIT_BRANCH
and SCM_URL
environment
variables, mail notification on still unstable etc.)
Want to see an example? Have look at Usage examples
The pipeline library was developed with a focus to ease Java and Maven build processes within companies which have a more or less similiar project structure e.g.
The assumption is that in these environments
:question: So why configure maven repositories and scm credentials in every pipeline?
So the key concepts of the pipeline enable you to
to builds.
Running this pipeline library will result in more structured and easier to maintain pipeline scripts.
Configured properly this library enables you to checkout scm with these lines of code:
import static io.wcm.devops.jenkins.pipeline.utils.ConfigConstants.* checkoutScm( (SCM) : [ (SCM_URL) : "git@domain.tld/group/project.git", ] )
Or running maven with local and global maven settings with these lines of code:
import static io.wcm.devops.jenkins.pipeline.utils.ConfigConstants.* execMaven( (SCM) : [ (SCM_URL) : "git@domain.tld/group/project.git", ], (MAVEN): [ (MAVEN_GOALS) : [ "clean", "install" ] ] )
:question: Looking for an example on how a pipeline script looks like when using Pipeline? Have a look at Usage examples
:bulb: Have a look at the setup tutorial to start using Pipeline Library.
Have a look at requirements to get the library running.
The pipeline library comes with the following steps:
checkoutScm
conditionalStage
execMaven
execMavenRelease
execNpm
getScmUrl
setBuildName
setScmUrl
setupTools
sshAgentWrapper
transferScp
Please refer to SetupTutorial for detailed instruction on how to setup the library in your environment.
The library uses two approaches for testing.
The class parts are tested by unit testing using JUnit/Surefire. All
unit tests have the naming format *Test.groovy
and are located below
test/io
.
The step parts are tested by using
Jenkins Pipeline Unit
with jUnit/Failsafe. All integration tests have the naming format
*IT.groovy
and are located below test/vars
.
mvn clean install
mvn license:update-file-header
Please have a look at the Releases
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效 率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。