Jenkins實踐--Jenkins搭建和使用

1.簡介

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

2.Windows安裝、啓動

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

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

後臺命令啓動使用如下命令:

nohup java -jar jenkins.war &

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

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

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

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

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

第一個界面應該是提示安裝插件,可以自定安裝,或者自定義安裝,本人使用了代理,所以可以很任性的使用第一種方式安裝,不然需要很長一段時間安裝完成。

Jenkins is ready!

Your Jenkins setup is complete.

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

3、配置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文檔下載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章