这篇记录主要关于使用Jenkins实现一个代码管理在OSChina中的码云(gitee)上的spring boot项目在阿里云ECS服务器中自动部署和启动
本文涉及
- 阿里云的 CodePipeline尝试
- Jenkins使用rpm方式安装,初始化完成登录后白屏情况的解决
-
Jenkins使用OSChina中的码云(gitee)插件,新手会和说明文档一样配置完认证,但无法加载git仓库
配置完APIV5 Token,但无法找到这个凭证的问题
1. 阿里云CodePipeline
阿里云其实有一个开放的CI功能CodePipeline;构建免费,但只能创建五个项目;然后要配合阿里云的oss对象存储服务使用

- 阿里云CodePipeline是基于Jenkins二次开发的,感觉确实好用些,并且配合天然适合服务器等用的是阿里云的中间件
- 中间必须要配置一个oss对象存储块,用于存放构建出来的项目文件;这样肯定是管理清晰,但是当时为啥不能选择直接传到ecs上…
-
最后没有用成,因为服务器是centos7 我看支持没有,然后安装服务器客户端,一直装不上,社区也不活跃,最后就放弃,使用jenkins了
ECS版本支持不足
2. 使用rpm安装jenkins,初始化后登陆白屏
首先这是一个安全认证的配置的问题
网上说找到config.xml这个文件修改就好,但是使用rpm自动安装查看jenkins安装路径后,知道war包在/usr/lib/jenkins/jenkin.war、配置文件在其他安装路径里面都没有找到

之后发现,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]#

#把下面标签后面的二个节点修改成下面代码段的配置:大致是第7行
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
<securityRealm class="hudson.security.SecurityRealm$None" />

3. gitee jenkins说明文档


有提供文档确实是不错的,但是里面写的有点不太适合新手
我刚开始思路比较简单,我照着你的配,后面肯定同,
可以我一步一步的跟着做,后面到添加git仓库的时候一直提示异常:
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/'
当时我就在想,配置云链接已经配了啊

用的是token授权,gitee重新实现了git授权么?我记得git使用的一般是账号密码或者是ssh密钥的形式;后来就看论坛也有人提这个问题:

直到看到这个

配的那个token不是用来登录git仓库的
源码管理的凭据和 api的凭据不是一样的,apiv5的凭据是插件调用码云接口使用的,而源码管理的凭据是jenkins git插件要求的,这个凭据格式是用户名密码,如果用的是http的协议需要在凭据管理中再配置一个码云用户名密码的凭据,这样才能选上,如果是ssh 的话需要jenkins的机器的ssh key 加入到码云账号中才行
剩下要做的就是在凭证中去把专门用户git仓库代码拉取的信息填了

添加完账号密码就可以在git中使用了

网友评论