欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Jenkins
来自开放百科 - 灰狐
(版本间的差异)
小 (→安装) |
小 (→用户) |
||
(未显示1个用户的20个中间版本) | |||
第2行: | 第2行: | ||
Jenkins CI 基于 [[Hudson]] 构建,MIT许可协议。 | Jenkins CI 基于 [[Hudson]] 构建,MIT许可协议。 | ||
+ | |||
+ | ==简介== | ||
+ | |||
+ | ==功能== | ||
==安装== | ==安装== | ||
− | + | ||
+ | ===体验=== | ||
+ | 快速体验Jenkins | ||
+ | docker volume create --name=m2repo | ||
+ | sudo chmod a+rw $(docker volume inspect -f '{{.Mountpoint}}' m2repo) | ||
+ | docker run --rm -p 127.0.0.1:2222:2222 -p 127.0.0.1:8080:8080 -p 127.0.0.1:8081:8081 -p 127.0.0.1:9418:9418 -ti -v m2repo:/m2repo jenkinsci/workflow-demo | ||
+ | http://localhost:8080/ | ||
+ | http://localhost:8080/blue | ||
+ | |||
+ | ===流水线=== | ||
+ | Jenkins 长期使用嵌入式 [[Groovy]] 引擎来为管理员和用户提供高级脚本功能。另外, Jenkins 流水线的实现者发现 Groovy是构建现在成为脚本式流水线 DSL 的坚实基础。 | ||
+ | |||
+ | 声明式流水线、脚本式流水线是一种基于 [[Groovy]] 的[[Domain-specific language|领域特定语言(DSL)]],大多数 Groovy 语法都可以无需修改,直接在脚本式流水线中使用。 | ||
+ | *[https://www.jenkins.io/doc/book/pipeline/ Jenkins Pipeline] | ||
+ | *[https://github.com/jenkinsci/JenkinsPipelineUnit Jenkins Pipeline Unit testing framework] | ||
+ | *[https://marketplace.eclipse.org/content/jenkins-editor Eclipse Jenkins 编辑器] | ||
+ | *[https://github.com/hoto/jenkinsfile-examples Jenkinsfiles Examples] [https://medium.com/@AndrzejRehmann/creating-a-jenkinsfile-pipeline-7aefc89b8c67 Creating a Jenkinsfile pipeline] | ||
+ | |||
+ | ===macOS=== | ||
+ | 下载macOS版本安装后,开关机会自动启动Jenkins。 | ||
+ | sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist | ||
+ | |||
+ | ===War文件=== | ||
+ | 下载 [https://www.jenkins.io/download/ war] 文件,然后运行, | ||
java -jar jenkins.war | java -jar jenkins.war | ||
java -jar jenkins.war --httpPort=8081 | java -jar jenkins.war --httpPort=8081 | ||
第57行: | 第84行: | ||
==Jenkins DSL== | ==Jenkins DSL== | ||
+ | *[https://github.com/sheehan/job-dsl-playground/ Jenkins Job DSL Playground] | ||
*[http://docs.huihoo.com/jenkins/conference/juc2014/unmasking-the-jenkins-dsl.pdf Unmasking the Jenkins DSL] | *[http://docs.huihoo.com/jenkins/conference/juc2014/unmasking-the-jenkins-dsl.pdf Unmasking the Jenkins DSL] | ||
*[http://docs.huihoo.com/jenkins/conference/juc2014/the-groovy-way-to-write-jenkins-plugin.pdf Jenkins user plugin: This time it's Groovy] | *[http://docs.huihoo.com/jenkins/conference/juc2014/the-groovy-way-to-write-jenkins-plugin.pdf Jenkins user plugin: This time it's Groovy] | ||
*[http://docs.huihoo.com/jenkins/conference/juc2013/configuration-as-code-adoption-of-the-job-dsl-plugin-at-netflix.pdf Configuration as Code Adoption of the Job DSL Plugin at Netflix] | *[http://docs.huihoo.com/jenkins/conference/juc2013/configuration-as-code-adoption-of-the-job-dsl-plugin-at-netflix.pdf Configuration as Code Adoption of the Job DSL Plugin at Netflix] | ||
*[http://docs.huihoo.com/jenkins/conference/juc2014/configuration-as-code-the-job-dsl-plugin.pdf Configuration as Code The Job DSL Plugin] | *[http://docs.huihoo.com/jenkins/conference/juc2014/configuration-as-code-the-job-dsl-plugin.pdf Configuration as Code The Job DSL Plugin] | ||
+ | |||
+ | ==Groovy== | ||
+ | *[https://wilsonmar.github.io/jenkins2-pipeline/ Jenkins2 Pipeline jobs using Groovy code in Jenkinsfile] | ||
+ | *[https://github.com/jenkinsci/jenkins-scripts jenkins-scripts] Scripts in [[Groovy]], shell, Ruby, Python, whatever for managing/interacting with Jenkins | ||
==JavaScript== | ==JavaScript== | ||
第150行: | 第182行: | ||
*[https://jenkins.openstack.org OpenStack] | *[https://jenkins.openstack.org OpenStack] | ||
*[https://ci.swift.org/ Apple Swift] | *[https://ci.swift.org/ Apple Swift] | ||
+ | *[https://ci.libreoffice.org/ LibreOffice] | ||
*[http://docs.huihoo.com/jenkins/conference/juc2012/how-jenkins-builds-the-netflix-global-streaming-service.pdf How Jenkins Builds the Netflix Global Streaming Service] | *[http://docs.huihoo.com/jenkins/conference/juc2012/how-jenkins-builds-the-netflix-global-streaming-service.pdf How Jenkins Builds the Netflix Global Streaming Service] | ||
*[http://docs.huihoo.com/jenkins/conference/juc2011/continuous-integration-at-yahoo.pptx Yahoo!持续集成]、[http://docs.huihoo.com/jenkins/conference/juc2013/implementing-continuous-delivery-at-yahoo.pptx Yahoo!持续交付] | *[http://docs.huihoo.com/jenkins/conference/juc2011/continuous-integration-at-yahoo.pptx Yahoo!持续集成]、[http://docs.huihoo.com/jenkins/conference/juc2013/implementing-continuous-delivery-at-yahoo.pptx Yahoo!持续交付] | ||
*[http://docs.huihoo.com/jenkins/conference/juc2011/how-liferay-is-improving-quality-using-hundreds-of-jenkins-servers.pdf Liferay] | *[http://docs.huihoo.com/jenkins/conference/juc2011/how-liferay-is-improving-quality-using-hundreds-of-jenkins-servers.pdf Liferay] | ||
*[https://ci.eclipse.org/ Eclipse] | *[https://ci.eclipse.org/ Eclipse] | ||
+ | *[https://build.ros.org/ ROS Build] | ||
==文档== | ==文档== | ||
第172行: | 第206行: | ||
image:jenkins-and-docker.jpg | image:jenkins-and-docker.jpg | ||
image:jinkins-on-openshift.png|OpenShift部署 | image:jinkins-on-openshift.png|OpenShift部署 | ||
+ | image:jenkins-on-dcos.png|Jenkins on DC/OS | ||
image:JDOS-2.0-container-engine-platform-02.png|京东容器平台JDOS | image:JDOS-2.0-container-engine-platform-02.png|京东容器平台JDOS | ||
+ | image:realworld-pipeline-flow.png|Pipeline | ||
+ | image:jenkins-blue-ocean-pipeline.png|Blue Ocean | ||
+ | image:jenkins-pipeline-steps.png|Pipeline Steps | ||
</gallery> | </gallery> | ||
2021年9月8日 (三) 15:50的最后版本
您可以在Wikipedia上了解到此条目的英文信息 Jenkins Thanks, Wikipedia. |
Jenkins CI 基于 Hudson 构建,MIT许可协议。
目录 |
[编辑] 简介
[编辑] 功能
[编辑] 安装
[编辑] 体验
快速体验Jenkins
docker volume create --name=m2repo sudo chmod a+rw $(docker volume inspect -f '模板:.Mountpoint' m2repo) docker run --rm -p 127.0.0.1:2222:2222 -p 127.0.0.1:8080:8080 -p 127.0.0.1:8081:8081 -p 127.0.0.1:9418:9418 -ti -v m2repo:/m2repo jenkinsci/workflow-demo http://localhost:8080/ http://localhost:8080/blue
[编辑] 流水线
Jenkins 长期使用嵌入式 Groovy 引擎来为管理员和用户提供高级脚本功能。另外, Jenkins 流水线的实现者发现 Groovy是构建现在成为脚本式流水线 DSL 的坚实基础。
声明式流水线、脚本式流水线是一种基于 Groovy 的领域特定语言(DSL),大多数 Groovy 语法都可以无需修改,直接在脚本式流水线中使用。
- Jenkins Pipeline
- Jenkins Pipeline Unit testing framework
- Eclipse Jenkins 编辑器
- Jenkinsfiles Examples Creating a Jenkinsfile pipeline
[编辑] macOS
下载macOS版本安装后,开关机会自动启动Jenkins。
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
[编辑] War文件
下载 war 文件,然后运行,
java -jar jenkins.war java -jar jenkins.war --httpPort=8081 java -jar jenkins.war --httpPort=8081 --ajp13Port=8010 java -jar jenkins.war --prefix=jenkins java -jar jenkins.war --controlPort=8001 // embedded Winstone application server
[编辑] Decker
docker pull jenkins/jenkins docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts http://0.0.0.0:8080/ 密码在容器的 /var/jenkins_home/secrets/initialAdminPassword如:1b14ff23c69248f6a3347ab66ede0259
[编辑] Debian
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add - vim /etc/apt/sources.list deb http://pkg.jenkins-ci.org/debian binary/ apt-get update apt-get install jenkins http://localhost:8080/
注意:你可能需要修改Java,vim /etc/default/jenkins
JAVA=/home/huihoo/jdk1.7.0_21/bin/java
和 chown -R jenkins:adm /var/lib/jenkins
[编辑] Apache Server
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
ProxyPass /jenkins http://localhost:8081/jenkins ProxyPassReverse /jenkins http://localhost:8081/jenkins ProxyRequests Off
[编辑] Jetty
[编辑] Nginx
[编辑] 使用
Jenkins 命令行
wget http://localhost:8080/jnlpJars/jenkins-cli.jar java -jar jenkins-cli.jar -s http://localhost:8080/ help java -jar jenkins-cli.jar -s http://localhost:8080/ version
[编辑] iOS
[编辑] Android
- Plugins for Android development
- Continuous Integration for Android Apps with Jenkins and Maven3
- Jenkins XML API and Mobile Devices
[编辑] Jenkins DSL
- Jenkins Job DSL Playground
- Unmasking the Jenkins DSL
- Jenkins user plugin: This time it's Groovy
- Configuration as Code Adoption of the Job DSL Plugin at Netflix
- Configuration as Code The Job DSL Plugin
[编辑] Groovy
- Jenkins2 Pipeline jobs using Groovy code in Jenkinsfile
- jenkins-scripts Scripts in Groovy, shell, Ruby, Python, whatever for managing/interacting with Jenkins
[编辑] JavaScript
[编辑] PHP
[编辑] Python
[编辑] Ruby
- Plugins for Ruby development
- Ruby Plugins
- Ruby CI with Github, Jenkins, and EC2 Spot Instances
- Graduating To Jenkins CI For Ruby on Rails Teams
[编辑] .NET
[编辑] Plugins
若将Debian近30000个软件包的构建可视化,是多么伟大的工程 :)
[编辑] GitHub
cd ~/.ssh ssh-keygen -t rsa -C "[email protected]" cp ~/.ssh/id_rsa* /var/lib/jenkins/.ssh/ 在gitHub里单击账户设置。点击SSH 公钥 ,点击添加另一个公钥。 粘贴前面生成的id_rsa.pub 文件内容。 ssh [email protected] 若验证成功,会显示类似信息: Hi openweb! You've successfully authenticated :) git config --global user.name "username" git config --global user.email "email" git config --list
参考:
总是这个错误:stderr: Permission denied (publickey).
windows下解决:在jenkins中,把git的设置由git.exe改成git.cmd即可? linux下:
[编辑] Gerrit
[编辑] Phabricator
[编辑] PostgreSQL
使用PostgreSQL作为Jenkins的后端数据库。
[编辑] MongoDB
[编辑] Distributed Builds
[编辑] Puppet
[编辑] Docker
docker pull zaiste/jenkins docker run -d -p 49001:8080 -v $PWD/jenkins:/var/lib/jenkins -t zaiste/jenkins http://localhost:8080
[编辑] 问题
- 与GitHub的整合,总报这个错误:stderr: Permission denied (publickey).
https://help.github.com/articles/error-permission-denied-publickey
[编辑] 用户
- Jenkins
- Apache public build and test server
- CloudFoundry.org
- OpenStack
- Apple Swift
- LibreOffice
- How Jenkins Builds the Netflix Global Streaming Service
- Yahoo!持续集成、Yahoo!持续交付
- Liferay
- Eclipse
- ROS Build
[编辑] 文档
- Jenkins for continuous delivery of infrastructure via Docker
- Empower DevOps with Hudson Instance Per Project (HIPP)
- Jenkins State of Union
- Building a Continuous Delivery Pipeline with Gradle and Jenkins
- Lightweight PaaS for Jenkins CI Environments with Docker
- Multi-Stage-CI System with Jenkins in an Embedded World
- Building, Testing & Deploying Android Apps with Jenkins
- Ruby CI with Github, Jenkins, and EC2 Spot Instances
- Jenkins + Gitlab + RabbitMQ + Symfony2 + Phing
[编辑] 图集
[编辑] 链接
- Jenkins CI官网
- Jenkins CI @ GitHub
- CloudBees: Cloud Platform as a Service for Java Web Apps, Supported Jenkins/Hudson and Jenkins/Hudson in the Cloud
- 基于 Jenkins 快速搭建持续集成环境
- 使用 Jenkins 实现软件开发的持续集成
- Jenkins Enterprise by CloudBees
分享您的观点