持续集成平台jenkins的安装配置

前面gogs的安装被数据库搞得有点难受,不过也算解决了高版本MySQL社区版的安装使用,新版本软件在功能、性能和安全性上肯定要比旧版本的表现更好。之前讲了,最近关于数据库的学习,代码管理平台的学习,都是基于最近的工作,搭建一个持续集成平台jenkins,实现代码的静态扫描,覆盖率报告,本文正式介绍jenkins的安装配置。

一、JDK的配置

在JDK的版本选择方面,不记得是在插件安装还是jenkins环境安装的时候,有因为JDK版本的原因报错。jenkins已经搭建好了,也是怪自己的习惯不是很好,遇到问题,一下就钻进去解决了,搞完就不想做记录了,是的,应该是有点懒得,哈哈,没办法了,写这篇文章的时候只能再重新用测试机走一下全过程了,争取本教程的过程是无错可实现的版本,我这里选择oracle的jdk15,oracle的JDK和社区版OpenJDK有区别的。

tar -zxvf jdk-15.0.1_linux-x64_bin.tar.gz
mv /root/jdk-15.0.1 /usr/local/jdk15
echo -e \
> "export JAVA_HOME=/usr/local/jdk15/\n\
> export PATH=\$PATH:/usr/local/jdk15/bin/\n\
> export CLASSPATH=/usr/local/jdk15/lib/"\
> > /etc/profile.d/jdk.sh
source /etc/profile.d/jdk.sh
jdk -version
java version "15.0.1" 2020-10-20
Java(TM) SE Runtime Environment (build 15.0.1+9-18)
Java HotSpot(TM) 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)

二、tomcat的安装

tar -zxvf apache-tomcat-9.0.41.tar.gz
mv apache-tomcat-9.0.41 /usr/local/tomcat
rm /usr/local/tomcat/webapps/* -rf
mkdir -p /usr/local/tomcat/webapps/ROOT && mv /root/jenkins.war /usr/local/tomcat/webapps/ROOT
cd /usr/local/tomcat/webapps/ROOT
jar -xvf jenkins.war
/usr/local/tomcat/bin/startup.sh

在连接http://ip:8080的时候,果然遇到了之前忘记记录的错误“AWT is not properly configured on this server.”,百度的时候遇到的有说是openjdk的问题,我这次直接用的oracle的jdk,还是出现这个问题,我查到AWT是与图形界面相关的接口,最后解决的方法直接安装的“GNOME Desktop”解决的问题,因为对这些软件理解比较浅显,只能解决问题,不知道为什么解决了,很是尴尬,这次依旧是用这个方法解决问题的,因为复现了两遍,强力安利大家在遇到这个问题,没有更好方法的时候,用我的这个方法,如果知道原因或者有更优解的好心人,可以留言或者邮件告知一下。接下来就是傻瓜式的安装网页上的提示依次输入密码,插件安装【我这里是离线测试机,选择跳过,下一节我会介绍离线安装插件】,管理员账号创建等等,就可以正式使用jenkins了。

yum groupinstall "GNOME Desktop" -y
/usr/local/tomacat/bin/startup.sh

三、插件安装

jenkins的插件非常的丰富,有1800+种,我把jenkins在连线状态下默认安装的插件进行了整理,Folders】【OWASP Markup Formatter】【Build Timeout】【Credentials Binding】【Timestamper】【Workspace Cleanup】【Ant】【Gradle】【Pipeline】【GitHub Branch Source】【Pipeline:GitHub Groovy Libraries】【Pipeline:Stage View】【Git】【Subversion】【SSH Build Agent】【Matrix Authorization Strategy】【PAM Authentication】【LDAP】【Email Extension】【Mailer】Localzation:Chinese(Simplified)】。我手上正好有个华为云的机器,50M的带宽,无聊的很,写了一个自动下插件的脚本,把所有脚本所有插件都下到了本地大概70G,脚本分好几步,我就没有整合,简单的贴一下,实用性不强,里面的变量也不解释了。基本就是用wget一些包含插件名的网页文件,从文件中截取出插件名,再wget每个插件对应的版本网页文件,从中获得版本号,然后直接while循环下载就好了。

for plugin in `cat plugins.name`
do
#       cd /root/jenkins-plugins/plugins.dir/$plugin
#       while read lines
#       do
#               tmp=${lines##*href\=\'}
#               versions=${tmp%%\'*}
#               echo $versions | grep hpi >> $plugin.hpi
#       done < $plugin
        cd /root/jenkins-plugins/plugins.dir/$plugin
        while read lines
        do
                tmp=${lines%\/*}
                versions=${tmp##*\/}
                mkdir $versions
                wget http://updates.jenkins-ci.org${lines}
                mv *.hpi $versions
        done < ${plugin}.hpi.total
done

#cd /root/jenkins-plugins/plugins.dir/$lines
#wget http://updates.jenkins-ci.org/download/plugins/$lines

下面我把常用的插件的依赖关系列出来,可以把这些插件的名称复制出来,用上面的方法,批量下载,安装的话,在jenkins界面上插件管理-高级模块上传安装就ok了。

【OWASP Markup Formatter】
antisamy-markup-formatter.hpi

【Build Timeout】
token-macro.hpi
build-timeout.hpi

【Credentials Binding】
plain-credentials.hpi
credentials-binding.hpi

【Timestamper】
workflow-api.hpi
timestamper.hpi

【Workspace Cleanup】
resource-disposer.hpi
ws-cleanup.hpi

【Ant】
ant.hpi

【Gradle】
ace-editor.hpi
workflow-support.hpi
workflow-cps.hpi
durable-task.hpi
workflow-durable-task-step.hpi
workflow-job.hpi
workflow-basic-steps.hpi
gradle.hpi

【Pipeline】
pipeline-milestone-step.hpi
snakeyaml-api.hpi
jackson2-api.hpi
pipeline-stage-step.hpi
pipeline-model-api.hpi
pipeline-model-extensions.hpi
branch-api.hpi
workflow-multibranch.hpi
pipeline-stage-tags-metadata.hpi
git-server.hpi
workflow-cps-global-lib.hpi【Pipeline:GitHub Groovy Libraries】
pipeline-input-step.hpi
pipeline-model-definition.hpi
jquery3-api.hpi
popper-api.hpi
plugin-util-api.hpi
font-awesome-api.hpi
bootstrap4-api.hpi
checks-api.hpi
echarts-api.hpi
junit.hpi
matrix-project.hpi
lockable-resources.hpi
pipeline-build-step.hpi
pipeline-graph-analysis.hpi
pipeline-rest-api.hpi
handlebars.hpi
momentjs.hpi
pipeline-stage-view.hpi【Pipeline:Stage View】
workflow-aggregator.hpi

【GitHub Branch Source】
okhttp-api.hpi
github-api.hpi
github.hpi
github-branch-source.hpi

【Git】
structs.hpi
trilead-api.hpi
credentials.hpi
ssh-credentials.hpi
jsch.hpi
apache-httpcomponents-client-4-api.hpi
script-security.hpi
git-client.hpi
scm-api.hpi
workflow-step-api.hpi
display-url-api.hpi
mailer.hpi【Mailer】
workflow-scm-step.hpi
git.hpi

【Subversion】
mapdb-api.hpi
subversion.hpi

【SSH Build Agent】
ssh-slaves.hpi

【Matrix Authorization Strategy】
matrix-auth.hpi

【PAM Authentication】
pam-auth.hpi

【LDAP】
ldap.hpi

【Email Extension】
email-ext.hpi

【Maven Integration】
javadoc.hpi
maven-plugin.hpi

【Localzation:Chinese(Simplified)】
localization-support.hpi
localization-zh-cn.hpi

【Gitlab】
gitlab-plugin.hpi
ruby-runtime.hpi
gitlab-hook.hpi

四、全局工具设置和slave节点设置

在安装了汉化插件之后,jenkins的界面就比较清晰命了了,全局工具和slave的配置安装输入框的要求去填写就好了,详细的使用,因为我主要是提供平台的,会用也是必须的,但是没有太多时间深究,这边安装配置就先到这了,后续的使用心得再做介绍。

下一篇就到和gogs差不多的gitlab的安装介绍,最近要先好好学习一下git的操作,虽然不是coder,但是有计划学习python切入coder的行列,所以git的基本操作还是要熟悉的。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇