Jenkins-gitee的插件說明踩坑

這篇記錄主要關(guān)于使用Jenkins實(shí)現(xiàn)一個(gè)代碼管理在OSChina中的碼云(gitee)上的spring boot項(xiàng)目在阿里云ECS服務(wù)器中自動部署和啟動

本文涉及

  1. 阿里云的 CodePipeline嘗試
  2. Jenkins使用rpm方式安裝,初始化完成登錄后白屏情況的解決
  3. Jenkins使用OSChina中的碼云(gitee)插件,新手會和說明文檔一樣配置完認(rèn)證,但無法加載git倉庫
    配置完APIV5 Token,但無法找到這個(gè)憑證的問題

1. 阿里云CodePipeline

阿里云其實(shí)有一個(gè)開放的CI功能CodePipeline;構(gòu)建免費(fèi),但只能創(chuàng)建五個(gè)項(xiàng)目;然后要配合阿里云的oss對象存儲服務(wù)使用


阿里云CodePipeline控制面板
  • 阿里云CodePipeline是基于Jenkins二次開發(fā)的,感覺確實(shí)好用些,并且配合天然適合服務(wù)器等用的是阿里云的中間件
  • 中間必須要配置一個(gè)oss對象存儲塊,用于存放構(gòu)建出來的項(xiàng)目文件;這樣肯定是管理清晰,但是當(dāng)時(shí)為啥不能選擇直接傳到ecs上…
  • 最后沒有用成,因?yàn)榉?wù)器是centos7 我看支持沒有,然后安裝服務(wù)器客戶端,一直裝不上,社區(qū)也不活躍,最后就放棄,使用jenkins了


    ECS版本支持不足

2. 使用rpm安裝jenkins,初始化后登陸白屏

首先這是一個(gè)安全認(rèn)證的配置的問題
網(wǎng)上說找到config.xml這個(gè)文件修改就好,但是使用rpm自動安裝查看jenkins安裝路徑后,知道war包在/usr/lib/jenkins/jenkin.war、配置文件在其他安裝路徑里面都沒有找到


rpm安裝路徑

之后發(fā)現(xiàn),jenkins工作目錄文件在~/.jenkins下

#查看jenkins安裝路徑
[[root@show]# 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
[[root@show ]# cd ~/.jenkins
[[root@show .jenkins]# ll
total 164
-rw-r--r--  1 root root   945 Mar  4 21:28 com.gitee.jenkins.connection.GiteeConnectionConfig.xml
-rw-r--r--  1 root root   347 Mar  4 20:07 com.gitee.jenkins.trigger.GiteePushTrigger.xml
-rw-r--r--  1 root root  1467 Mar  4 21:28 config.xml
-rw-r--r--  1 root root   916 Mar  4 20:14 credentials.xml
-rw-r--r--  1 root root   214 Mar  4 21:28 github-plugin-configuration.xml
-rw-r--r--  1 root root   156 Mar  4 21:25 hudson.model.UpdateCenter.xml
-rw-r--r--  1 root root   250 Mar  4 21:28 hudson.plugins.build_timeout.operations.BuildStepOperation.xml
-rw-r--r--  1 root root  1316 Mar  4 21:28 hudson.plugins.emailext.ExtendedEmailPublisher.xml
-rw-r--r--  1 root root   352 Mar  4 21:28 hudson.plugins.git.GitSCM.xml
-rw-r--r--  1 root root   370 Mar  4 18:01 hudson.plugins.git.GitTool.xml
-rw-r--r--  1 root root   381 Mar  4 21:28 hudson.plugins.timestamper.TimestamperConfig.xml
-rw-r--r--  1 root root   391 Mar  4 21:28 hudson.scm.SubversionSCM.xml
-rw-r--r--  1 root root   188 Mar  4 21:28 hudson.tasks.Mailer.xml
-rw-r--r--  1 root root    76 Mar  4 21:28 hudson.tasks.Shell.xml
-rw-r--r--  1 root root   216 Mar  4 21:28 hudson.triggers.SCMTrigger.xml
-rw-------  1 root root  1712 Mar  4 17:43 identity.key.enc
-rw-r--r--  1 root root     5 Mar  4 18:04 jenkins.install.InstallUtil.lastExecVersion
-rw-r--r--  1 root root     5 Mar  4 18:04 jenkins.install.UpgradeWizard.state
-rw-r--r--  1 root root   159 Mar  4 21:28 jenkins.model.ArtifactManagerConfiguration.xml
-rw-r--r--  1 root root   238 Mar  4 21:28 jenkins.model.JenkinsLocationConfiguration.xml
-rw-r--r--  1 root root   171 Mar  4 17:43 jenkins.telemetry.Correlator.xml
drwxr-xr-x  3 root root  4096 Mar  4 21:29 jobs
drwxr-xr-x  3 root root  4096 Mar  4 17:43 logs
-rw-r--r--  1 root root   907 Mar  4 21:25 nodeMonitors.xml
drwxr-xr-x  2 root root  4096 Mar  4 17:43 nodes
-rw-r--r--  1 root root   291 Mar  4 21:28 org.jenkinsci.plugins.pipeline.modeldefinition.config.GlobalConfig.xml
-rw-r--r--  1 root root   153 Mar  4 21:28 org.jenkinsci.plugins.workflow.flow.GlobalDefaultFlowDurabilityLevel.xml
-rw-r--r--  1 root root   219 Mar  4 21:28 org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml
-rw-r--r--  1 root root   236 Mar  4 21:28 org.jenkins.plugins.lockableresources.LockableResourcesManager.xml
drwxr-xr-x 77 root root 12288 Mar  4 20:07 plugins
-rw-r--r--  1 root root   129 Mar  4 21:25 queue.xml.bak
-rw-r--r--  1 root root   369 Mar  4 18:08 scriptApproval.xml
-rw-r--r--  1 root root    64 Mar  4 17:43 secret.key
-rw-r--r--  1 root root     0 Mar  4 17:43 secret.key.not-so-secret
drwx------  4 root root  4096 Mar  4 20:19 secrets
drwxr-xr-x  2 root root  4096 Mar  4 18:01 updates
drwxr-xr-x  2 root root  4096 Mar  4 17:43 userContent
drwxr-xr-x  3 root root  4096 Mar  4 18:03 users
drwxr-xr-x 11 root root  4096 Mar  4 17:43 war
drwxr-xr-x  2 root root  4096 Mar  4 18:01 workflow-libs
[root@show .jenkins]# 
找到配置文件
#把下面標(biāo)簽后面的二個(gè)節(jié)點(diǎn)修改成下面代碼段的配置:大致是第7行
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
<securityRealm class="hudson.security.SecurityRealm$None" />
修改標(biāo)簽

3. gitee jenkins說明文檔

入口

文檔

有提供文檔確實(shí)是不錯(cuò)的,但是里面寫的有點(diǎn)不太適合新手
我剛開始思路比較簡單,我照著你的配,后面肯定同,
可以我一步一步的跟著做,后面到添加git倉庫的時(shí)候一直提示異常:

Failed to connect to repository : Command "git ls-remote -h https://gitee.com/shixinpeng/xxxx.git HEAD" returned status code 128:
stdout: 
stderr: remote: ?[31mIncorrect username or password ( access token )?[0m
fatal: Authentication failed for 'https://gitee.com/shixinpeng/xxxx.git/'

Failed to connect to repository : Command "git ls-remote -h https://gitee.com/shixinpeng/xxxxgit HEAD" returned status code 128:
stdout: 
stderr: remote: ?[31mIncorrect username or password ( access token )?[0m
fatal: Authentication failed for 'https://gitee.com/shixinpeng/xxxx.git/'

當(dāng)時(shí)我就在想,配置云鏈接已經(jīng)配了啊

配置云鏈接

用的是token授權(quán),gitee重新實(shí)現(xiàn)了git授權(quán)么?我記得git使用的一般是賬號密碼或者是ssh密鑰的形式;后來就看論壇也有人提這個(gè)問題:
問題

直到看到這個(gè)
配的那個(gè)token不是用來登錄git倉庫的

配的那個(gè)token不是用來登錄git倉庫的

源碼管理的憑據(jù)和 api的憑據(jù)不是一樣的,apiv5的憑據(jù)是插件調(diào)用碼云接口使用的,而源碼管理的憑據(jù)是jenkins git插件要求的,這個(gè)憑據(jù)格式是用戶名密碼,如果用的是http的協(xié)議需要在憑據(jù)管理中再配置一個(gè)碼云用戶名密碼的憑據(jù),這樣才能選上,如果是ssh 的話需要jenkins的機(jī)器的ssh key 加入到碼云賬號中才行

剩下要做的就是在憑證中去把專門用戶git倉庫代碼拉取的信息填了


新建憑證

添加完賬號密碼就可以在git中使用了


現(xiàn)在就顯示了
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容