1. 程式人生 > >專案開發環境搭建手記(5.Jenkins搭建)

專案開發環境搭建手記(5.Jenkins搭建)

一、下載

這裡有下載包

注意:

sudo wget -O /etc/yum.repos.d/jenkins.repohttp://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins

這樣的安裝步驟也是可以,但是虛擬機器下載的速度是很慢的。還是手工download rpm更好。

 二、安裝

rpm -ivhjenkins-1.597-1.1.noarch.rpm 

  1:jenkins               ########################################### [100%]
[

[email protected] sss]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins  ---主目錄
/var/log/jenkins

三、配置

vi /etc/sysconfig/jenkins,修改埠號

service jenkis

提示是OK,但是ps一下,jenkins程序沒有,埠號也沒被佔用。

cat /var/log/jenkens/jenkens.log

SEVERE: Container startup failed
java.io.IOException: Failed to start Jetty

...

Caused by: java.net.BindException: Address already in use

原來是8009埠和被tomcat佔用了。

===>/etc/sysconfig/jenkins要修改兩個埠:一個8080,一個8009

在這裡,我把它們分別修改為8980,8909

同時,也可以從這裡看到,rpm包裡面,內嵌了Jetty

四、安裝外掛,支援git

jenkins預設是不支援git的,需要裝外掛。

系統管理-》外掛管理-》可選外掛

選中GitLab Plugin之後,點直接安裝,進入一個頁面,顯示相關的plugin正在下載

——注意需要翻牆連google

  • Git Client Plugin
  • Matrix Project Plugin
  • SCM API Plugin
  • Credentials Plugin
  • Git Plugin
  • GitLab Plugin

在配置gitlab資訊時,有一個api token,對應gitlab使用者的account屬性中,Private token的值。

但是配置git倉庫的時候,一直報錯。

只有用http協議,並且把使用者名稱密碼都加上如http://user:[email protected]:xxxxxx.git,Credentials選none的時候才可以。

Failed to connect to repository : Command "git ls-remote -h [email protected]:app-dev/sssApp.gitHEAD" returned status code 128:
stdout: 

stderr: Permission denied, please tryagain. 
Permission denied, please try again. 
Permission denied(publickey,gssapi-keyex,gssapi-with-mic,password). 
fatal: The remote end hung up unexpectedly

最終解決:還是在細節上沒有注意

選擇SSH Username with private key

直接輸入私鑰,要完整複製 ~/.ssh/id_isa裡面的內容。

使用From a file on Jenkins master不好使

構建的時候,發現錯誤:mvn command not found.

檢查一下設定,maven也已經配置了。

原因是:直接在command shell裡面輸入mvn是不行的。

採用在設定選單中,增加構建-》Invoke top-level maven targets,選擇我們配置的Maven的名稱 ,Goals中輸入

clean

install

等,是可以的。

記得在高階設定裡面,都用預設的設定,裡面是要找maven配置檔案settings.xml的。

如果要直接輸入shell命令,要打完整的路徑——因為jenkins這個使用者,shell用的不一樣。

一開始的錯誤,實際上是找不到這個路徑,因為預設是~/.m2/repository。於是maven直接去找私服了。然而,我根本沒有把這玩意放在私服上——因為沒必要。

[ERROR]   The project com.fbysss.dev:sssApp:${project.build.version}(/var/lib/jenkins/jobs/sssApp/workspace/pom.xml) has 1 error

[ERROR]     Non-resolvable parent POM: Failure to findcom.fbysss.dev:sssApp-pom:pom:1.0.0 in was cached in the local repository, resolution will notbe reattempted until the update interval of central has elapsed or updates areforced and 'parent.relativePath' points at wrong local POM @ line 6, column 10-> [Help 2]

後來才是無法訪問。

[ERROR] Could notcreate local repository at /home/sss/.m2/repository -> [Help 1]

原來是jenkins訪問不了/home/sss,所以,把local repository設定在這裡是不明智的。

開啟settings.xml,設定目錄為/var/mavenrepo

於是,

mkdir /var/maven-repo

cp /home/sss/.m2 /var/maven-repo/. -r

chmod 777 /var/maven-repo

新問題又來了:

因為jenkins一啟動,虛擬機器就很慢。估計jetty還是佔用了不少記憶體。直接把war包放到tomcat下面應該是更好的選擇。

但是,war包部署到tomcat下,訪問發現之前的資料全部沒有了。咋辦?

vi  /var/lib/jenkins/users/admin/config.xml,可以看到,jenkins就是使用檔案儲存的方式。

但拷貝過去還是不好用,而且速度沒變快。因此還是使用jetty啟動。

問題:Tomcat和Jetty莫名自動關停。

估計記憶體不足,增加了1G記憶體。暫時沒問題。

小技巧:要檢視詳細資訊,可以在Goals中增加一條:-e

五、WebHook配置:解決:gitlab push之後,jenkins自動構建

 首先,在gitlab中,選中一個project進行編輯

點選web hooks->Push events,新增一個urlhttp://jenkins.fbysss.com/git/[email protected]:app-dev/sssApp.git

測試,提示錯誤:Hook execution failed. Ensure hook URL is correct and service is up.

單獨將這個url放到位址列裡面,提示:

No Git consumers using SCM API plugin for: [email protected]:app-dev/sssApp.git

參考如下網址:

說的主要是,首先gitlab中的POLL SCM要設定

效果:push到gitlab之後,jenkins自動進行構建。看日誌可檢查。

相關推薦

專案開發環境搭建手記5.Jenkins搭建

一、下載 這裡有下載包 注意: sudo wget -O /etc/yum.repos.d/jenkins.repohttp://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jen

VS中不同開發環境設定轉換C#->C++等

前幾天突然要使用C#程式設計,所以把VS開發環境給更換了,這不,又得更換回來!上一次是在案例提示下完成的,讓自己做,居然不會了,好吧……又重新找出案例,並記錄下,省的自己以後再忘,誰覺得有用也可以看看!******************************************************

學習TP5前提篇:基於PHP的專案開發環境搭建

前言 之前我寫一個TP5框架快速上手的文章,如果你想快速上手TP5框架的話,可以看一下。這篇來聊一聊用TP5框架或者說用PHP來寫後端專案需要在部署哪些環境,還要需要準備哪些軟體。(方法不唯一) 需

【java專案實戰】一步步教你使用MyEclipse搭建java Web專案開發環境

       首先,在開始搭建MyEclipse的開發環境之前,還有三步工具的安裝需要完成,只要在安裝配置成功之後才可以進入下面的java Web專案開發環境的搭建。 1、安裝工具 第一步,下載並

Hadoop專案開發環境搭建Eclipse\MyEclipse + Maven

寫在前面的話     可詳細參考,一定得去看   我這裡,相信,能看此部落格的朋友,想必是有一定基礎的了。我前期寫了大量的基礎性博文。可以去補下基礎。 步驟一:File  ->  New  -> Project   ->  Maven Project

Zookeeper專案開發環境搭建Eclipse\MyEclipse + Maven

寫在前面的話     可詳細參考,一定得去看   我這裡,相信,能看此部落格的朋友,想必是有一定基礎的了。我前期寫了大量的基礎性博文。可以去補下基礎。   步驟一:File  ->  New  -> Project   ->  Maven Project 

Hive專案開發環境搭建Eclipse\MyEclipse + Maven

寫在前面的話     可詳細參考,一定得去看   我這裡,相信,能看此部落格的朋友,想必是有一定基礎的了。我前期寫了大量的基礎性博文。可以去補下基礎。 步驟一:File  ->  New  -> Project   ->  Maven Project 

使用Docker搭建開發環境,包括nginx,redis,mysql,gitlab,nexus3,activemq,jenkins

使用Docker搭建開發環境 自從玩了Docker,深深的被Docker迷住,做了這麼多年軟體,都沒想到軟體會發展到這種階段,使用容器隔離技術,將各個服務程序隔離。 記錄一下自己為新成立的部門使用Docker搭建開發環境的過程,這裡只是簡粗暴的記錄下執行命令

手把手教你搭建React Native 開發環境 - ios篇 React [email&#

由於之前我是h5的,沒接觸過ios和安卓, 也不瞭解xcode配置,所以 建議學reace-native之前還是先去了解一下ios和安卓開發環境搭建等問題。 環境下載及配置 nodejs:https://nodejs.org/en/download/ 設定淘寶映象 $ npm con

我的android studio開發環境搭建歷程一部辛酸史

android開發愈演愈烈,本人也想湊下熱鬧,首先要過的就是要搭建android開發環境這一關,本來我用eclipse挺順的,不過參考網上的評論,感覺還是親兒子好,所以決定切換到android studio,簡稱as。 其實網上有很多文章可以參考,但是自己動起手來才發現沒有那麼簡單啊,簡直是虐心啊。。。 第

LinuxCentOS 7+ Nginx1.10.2+ Mysql5.7.16+ PHP7.0.12完整環境搭建

首先安裝Linux系統,我以虛擬機器安裝來做示例,先去下載 VitualBox,這是一款開源的虛擬機器軟體,https://www.virtualbox.org 官網地址。或者是VMware,www.vmware.com,不過這個軟體是收費的。當然同時還要去下載一個Linux

webpack搭建vue專案開發環境【文件向學習】

為何有這篇文章 各個社群已經有無數篇帖子介紹如何使用webpack搭建前端專案,但無論是出於學習webpack的目的還是為了解決工作實際需要都面臨著一個現實問題,那就是版本更新。別人的帖子可能剛寫好版本就更新了,又要對著帖子找文件。 但這個過程十分重要,因為你想要的一切早已都在文件中

搭建struts2 專案開發環境——(使用Intellij IDEA+Maven+struts2 )

Struts的介紹        Struts的是阿帕奇軟體基金會(ASF)贊助的一個開源專案。它最初是雅加達專案中的一個子專案,並在2004年3月成為ASF的頂級專案。它通過採用JavaServlet / JSP技術,實現了基於JavaEEWeb應用的M

一步步教你使用MyEclipse搭建java Web專案開發環境

首先,在開始搭建MyEclipse的開發環境之前,還有三步工具的安裝需要完成,只要在安裝配置成功之後才可以進入下面的java Web專案開發環境的搭建。 1、安裝工具 第一步,下載並安裝JDK,到官網上下載安裝即可,之後需要細心的配置環境變數,我給大家推薦百度文庫的

專案開發環境部署:Linux上搭建ntp服務,實現時間同步

一 引言目前的專案有多個伺服器,排查BUG,發現各個伺服器的時間不一致,遂網上查詢資源,使得時間保持一致。二 步驟1)以第一臺伺服器為“服務端”,其他臺伺服器為“客戶端”,“客戶端”從“服務端”同步時間。2)所有伺服器安裝ntp服務:yum install ntp     

STM32開發環境-Keil uVision5 MDK 5

      1.下載並安裝       MDK作為STM32常用的IDE,其他還有IAR等等,在學習STM32F103的過程中,我之所以選擇MDK,是因為KEIL5可以完美相容KEIL4,與之前的版本相比,最大的區別在於器件(Software Packs)與編譯器(MDK c

機器學習開發環境搭建配置ML+python+pycharm圖文教程

環境配置 win7+pycharm(pycharm-community-2017.1.3)+python2.7.5 1          安裝配置 1.1         下載 1.1.1    Anaconda 4.4.0下載 建議下載Python2.7 version

Django+Vue搭建專案開發環境

開發環境為了方便大家開發,這裡建議統一開發環境。IDE:Pycharm 2018.1.4Python 3.6.5Django 2.0.7版本控制:gitnodejs v8.11.3vue.js統一編碼:UTF-8,換行符:\n編碼配置Settings——>Editor—

mysql 兩主一從環境搭建5.7.24

## 搭建說明 * 兩主一從,從本質上說,只不過是機器 master-a 和 master-b 互為主從機(熱備),然後通過 **keepalived** 進行高可用配置,使得在同一時間內只會有一臺對外提供服務,實現單寫機制,另一個機器 slave 則作為 master-a 的從機存在(冷備)。 *

基於MVC4+EasyUI的Web開發框架經驗總結5--使用HTML編輯控件CKEditor和CKFinder

err config 兩個 腳本 web開發 upload asp 正常 初始 http://www.cnblogs.com/wuhuacong/p/3780356.html Web開發上有很多HTML的編輯控件,如CKEditor、kindeditor等等,很多都做的很