Jenkins實踐--Jenkins搭建和使用

1.簡介

  • Jenkins是一個開源的、可擴展的持續集成、交付、部署(軟件/代碼的編譯、打包、部署)基於web界面的平臺。
  • Jenkins是一個工具集,提供了各類各樣的插件

2.Windows安裝、啓動

推薦使用第三種方式,在各類操做系統平臺上均可以使用。同時支持添加參數,例如:html

java -jar jenkins.war --httpPort=8082//表示使用8082端口啓動Jenkins (默認端口是8080)

後臺命令啓動使用以下命令:java

nohup java -jar jenkins.war &

啓動過程當中會在用戶根目錄生成~/.jenkins目錄。git

命令模式啓動成功以後打開瀏覽器輸入地址便可開啓Jenkins:web

http://<hostname>:你的端口號(默認8080)/
http://127.0.0.1:8082/

進入Jenkins以後須要輸入初始化密碼,會提示在用戶根目錄已經生成,使用瀏覽器打開本地地址便可:shell

file:///C:/Users/xjt2016/.jenkins/secrets/initialAdminPassword

第一個界面應該是提示安裝插件,能夠自定安裝,或者自定義安裝,本人使用了代理,因此能夠很任性的使用第一種方式安裝,否則須要很長一段時間安裝完成。apache

Jenkins is ready!windows

Your Jenkins setup is complete.centos

2.mac安裝、啓動

#安裝
brew install jenkins

#卸載
brew uninstall jenkins

##啓動(實際執行的就是:java -jar jenkins.war &)
jenkins

##關閉:
ps -ef | grep jenkins
kill -9 pid
或者:
http://localhost:8080/restart
http://localhost:8080/reload

##從新安裝配置
rm -rf ~/.jenkins
jenkins

三、配置JENKINS

安裝插件

進入Manage Plugins的界面,jenkins的不少功能都是藉助plugin來完成的,首次啓動時不少插件會提示已通過時,須要更新,建議升級成最新版本,同時建議安裝如下插件,以方便支持git項目及向遠程機器上傳文件及執行遠程shell命令。瀏覽器

系統配置

Global Tool Configuration

  • Maven Configuration

  • JDK

    img

安全設置

默認狀況下,jenkins容許匿名用戶作任何事情,這也就意味着誰均可以使用jenkins進行發佈,這顯然不夠安全,jenkins支持多種安全認證機制,下面演示最傳統的用戶名/密碼模式如何設置:

進入Configure Global Security界面

參考上圖設置,上面的設置大概意思爲採用jenkins內置的用戶名、密碼認證機制,同時容許用戶註冊,匿名用戶有管理權(首次配置時,建議容許匿名用戶有管理權限,以免操做錯誤後,沒法正常進入jenkins管理界面,等其它用戶權限都設置好之後,再去掉匿名用戶的管理權)

保存後,jenkins右上角會有一個sign up註冊連接,點擊進去,註冊一個用戶.

而後再進入安全設置界面: 

點擊看大圖

能夠看到,用戶列表多了一個yangjm的用戶,並且有管理權限,能夠嘗試用yangjm的用戶名登陸一下,若是ok,就能夠去掉匿名用戶的管理權限了,通常狀況下,我的建議去掉容許用戶註冊的勾選(實際應用中,通常都是提早建好全部用戶名,不多容許發佈系統隨意註冊),保存後,再次訪問jenkins

點擊看大圖

就會強制只能登陸用戶才能使用了。

附:

Command Line Parameter Description

命令 描述
--httpPort=$HTTP_PORT Runs Jenkins listener on port $HTTP_PORT using standard http protocol. The default is port 8080. To disable (because you're using https), use port -1.
--httpListenAddress =$HTTP_HOST Binds Jenkins to the IP address represented by $HTTP_HOST. The default is 0.0.0.0 — i.e. listening on all available interfaces.  For example, to only listen for requests from localhost, you could use: --httpListenAddress=127.0.0.1
--httpsPort=$HTTP_PORT Uses HTTPS protocol on port $HTTP_PORT
--httpsListenAddress =$HTTPS_HOST Binds Jenkins to listen for HTTPS requests on the IP address represented by $HTTPS_HOST.
--ajp13Port=$AJP_PORT Runs Jenkins listener on port $AJP_PORT using standard AJP13 protocol. The default is port 8009. To disable (because you're using https), use port -1.
--ajp13ListenAddress =$AJP_HOST Binds Jenkins to the IP address represented by $AJP_HOST. The default is 0.0.0.0 — i.e. listening on all available interfaces.
--argumentsRealm. passwd.$ADMIN_USER Sets the password for user $ADMIN_USER. If Jenkins security is turned on, you must log in as the $ADMIN_USER in order to configure Jenkins or a Jenkins project. NOTE: You must also specify that this user has an admin role. (See next argument below).
--argumentsRealm.roles. $ADMIN_USER=admin Sets that $ADMIN_USER is an administrative user and can configure Jenkins if Jenkins' security is turned on. SeeSecuring Jenkins for more information.
-Xdebug -Xrunjdwp:transport=dt_socket, address=$DEBUG_PORT, server=y,suspend=n Sets debugging on and you can access debug on $DEBUG_PORT.
-~~logfile=$LOG_PATH/winstone_date +"%Y~~%m-%d_%H-%M".log Logging to desired file
-XX:PermSize=512M -XX:MaxPermSize=2048M -Xmn128M -Xms1024M -Xmx2048M referring to these options for Oracle Java

 

關閉、重啓、重加載

1:關閉Jenkins

     只須要在訪問jenkins服務器的網址url地址後加上exit。例如我jenkins的地址http://localhost:8080/,那麼我只須要在瀏覽器地址欄上敲下http://localhost:8080/exit 網址就能關閉jenkins服務.

2:重啓Jenkies

    http://localhost:8080/restart

3:從新加載配置信息

    http://localhost:8080/reload

 

相關博客

Jenkins的入門教程: 

Jenkins master在windows上安裝

jenkins master在centos上的安裝

Jenkins 構建JavaHelloWorld

Jenkins的配置

Jenkins的Windows Slave的配置

Jenkins的Linux的Slave的配置

Jenkins Master/Slave架構

Jenkins最佳實踐

Jenkins中執行batch和Python

Jenkins的受權和訪問控制

Jenkins插件之Perforce訪問

Jenkins插件之trigger

Jenkins插件之構建與MSBuild

Jenkins插件之環境變量插件EnvInject

Jenkins插件之Workspace cleanup + Copy to slave

Jenkins插件之VShpere Cloud

Jenkins插件之Publish Over SSH/CIFS/FTP

Jenkins插件之Deploy

Jenkins插件之Dashboard和wall display

Jenkins插件之有用

Jenkins FQA

官方幫助:https://wiki.jenkins-ci.org/display/JENKINS/Home 
apache的使用實例:https://builds.apache.org 
使用jenkins來build jenkins的實例:https://ci.jenkins-ci.org/ 

此係列文章的PDF的下載: Jenkins入門

Jenkins的進階教程: 

Jenkins進階系列之——18Jenkins語言本地化 

Jenkins進階系列之——17Jenkins升級、遷移和備份 

Jenkins進階系列之——16一個完整的JENKINS下的ANT BUILD.XML文件 

Jenkins進階系列之——15Maven獲取Jenkins的Subversion的版本號   

Jenkins入門系列之——00答疑解惑  

Jenkins進階系列之——14配置Jenkins用戶和權限 

Jenkins進階系列之——13修改Jenkins權限控制  

Jenkins進階系列之——12詳解Jenkins節點配置

Jenkins進階系列之——11修改Jenkins用戶的密碼 

Jenkins進階系列之——10Publish Over SSH插件

Jenkins進階系列之——09配置Linux系統ssh免密碼登錄

Jenkins進階系列之——08Jenkins歸入版本控制

Jenkins進階系列之——07更改Jenkins的主目錄

Jenkins進階系列之——06FTP publisher plugin插件下載(支持絕對路徑)

Jenkins進階系列之——05FTP publisher plugin插件

Jenkins進階系列之——04Publish Over FTP Plugin插件

Jenkins進階系列之——03parameterized-trigger插件 

Jenkins進階系列之——02email-ext郵件通知模板

Jenkins進階系列之——01使用email-ext替換Jenkins的默認郵件通知

Jenkins入門系列之——03PDF文檔下載

相關文章
相關標籤/搜索