Jenkins

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(体验)
(用户)
 
(未显示1个用户的17个中间版本)
第12行: 第12行:
 
快速体验Jenkins
 
快速体验Jenkins
 
  docker volume create --name=m2repo
 
  docker volume create --name=m2repo
  sudo chmod a+rw $(docker volume inspect -f ''{{.Mountpoint}}' 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
 
  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/
 
  http://localhost:8080/blue
 
  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文件===
 
===War文件===
下载 [http://download.huihoo.com/jenkins/jenkins.war 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
第71行: 第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]
第77行: 第91行:
  
 
==Groovy==
 
==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
 
*[https://github.com/jenkinsci/jenkins-scripts jenkins-scripts] Scripts in [[Groovy]], shell, Ruby, Python, whatever for managing/interacting with Jenkins
  
第167行: 第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]
  
 
==文档==
 
==文档==
第189行: 第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-35x35.png 您可以在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 语法都可以无需修改,直接在脚本式流水线中使用。

[编辑] 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

[编辑] Jenkins DSL

[编辑] Groovy

[编辑] JavaScript

[编辑] PHP

[编辑] Python

[编辑] Ruby

[编辑] .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

[编辑] 用户

[编辑] 文档

更多文档 >>>

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱