首页 > 编程知识 正文

服务器安装centos7安装教程,jenkins有什么用

时间:2023-05-05 11:43:12 阅读:32420 作者:2514

Centos7下载安装配置Jenkins教程1.1 Jenkins安装条件1.2 Jenkins安装方法1.2.1如何直接下载war软件包安装配置Jenkins1.2.2 Docker方法

本博客总结了如何下载、安装和配置Jenkins

1.1 Jenkins的安装条件

Jenkins通常在自己的过程中作为独立的APP应用程序使用内置的Java servlet容器/APP应用程序服务器(Jetty )运行。

机器需要10GB以上的磁盘空间和256MB以上的内存,512MB以上的JDK 11或JDK 11以上的2.164(2019-02 )或更高版本: Java 8 8或Java 112.54 (2017-04 )或更高版本: Java

第一种直接下载war软件包的方法第二种下载Docker容器的方法第三种使用软件包管理器方法1.2.1直接下载war软件包的方法Jenkins然后下载war软件包

具体步骤如下。

下载最新的稳定版本Jenkins要运行Jenkins Java-jar Jenkins.war-- http port=8080或创建shell脚本:请输入以下命令

要创建文件输入:

vi startup.sh的编辑内容如下。 #! /愤怒的自行车/bashnohupjava-jar Jenkins.war-- http port=8686之后,您将看到以下信息: 记录上图中出现的随机密码字符串,稍后安装使用。

打开浏览器,访问http://localhost:8080

等待一会儿,如果您看到以下内容,请输入刚才列出的随机密码字符串,然后单击Continue

选择推荐插件或自定义安装的插件

在此选择并安装推荐的插件

安装时间可能有点长,请稍等。

安装成功后,必须创建管理员帐户

我们选择保存和继续

访问首页: http://127.0.0.1:8080/

单击Start Using Jenkins后,可以看到以下内容:

1.2.2要使用Docker方法安装Jenkins Docker方法,必须首先安装Docker环境。 有关具体的安装方法,请参阅我的另一个博客。 如何在Centos7上安装或卸载Docker?

Docker安装完成后,需要去Docker仓库找Jenkins。

Docker官方仓库地址: https://hub.docker.com/

打开官方仓库网站后,输入Jenkins并单击搜索。

值得注意的是,当我们打开这个时,就会发现有这样的话。

翻译成中文的话:

应该使用jenkins/jenkins:lts image,Jenkins社区在项目发行期间提供和维护此image,而不是推荐此image。 从LTS 2.60.x开始,在此找到的image将不再更新。 请相应地调整使用方法。

也就是说,我们应该选择长期支持版本jenkins/jenkins:lts,而不是选择此仓库镜像。

长期支持地址: https://hub.docker.com/r/Jenkins/Jenkins

选中后,将显示以下提示:

要使用长期支持版本,请在命令行中键入: 要使用最新版本的docker pull Jenkins/Jenkins 3360 lts,请在命令行中键入: DockerpullJenkins/Jenkins此处建议选择长期支持版本

如果选择了长期支持版本,请输入以下命令运行:

docker run-p 808033608080-p 50000336050000 Jenkins/Jenkins : lts以及其他安装步骤与以前的直接下载方式基本一致,因此不再重复说明。

要指定jenkins的安装路径,必须运行以下命令

docker run-p 808033608080-p 50000336050000-vjenkins _ home :/var/Jenkins _ home Jenkins/Jenkins 3360 lts这是自动执行的

1.2.3软件包管理器安装Jenkins (未测试)安装仓库镜像sudo wget-o/etc/yum.repos.d/Jenkins.repo https://pkg.Jenkins

io/redhat-stable/jenkins.repo 安装key sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Tips: 这里要导入rpm包签名密钥防止包管理器下载的软件地址被伪造,
用于签名软件包的gpg密钥已于2020年4月16日更新,因此,如果如果在此日期之前导入,则需要重新导入。

更新yum sudo yum upgrade 安装Jenkins sudo yum install jenkins 重启 sudo systemctl daemon-reload 启动Jenkins sudo systemctl start jenkins 检查是否启动成功 sudo systemctl status jenkins

如果返回这样的内容说明成功:

Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)Active: active (running) since Tue 2018-11-13 16:19:01 +03; 4min 57s ago... 1.3 项目集成Jenkins参考配置文件

如果想让项目集成Jenkins,这里提供一个可供参考的配置文件。

Jenkinsfile.groovy

pipeline{ agent { label 'LABEL_192.168.159.160' } triggers{ cron('H 11 * * *') } environment { GIT_EMAIL = sh(script: '''git log -3 | cat - | grep Author | grep -v nobody@nowhere | awk -F'[<>]' '{print $2}' | head -1 ''',returnStdout: true).trim() GIT_PROJECT = sh(script: '''git remote -v | head -1 | awk -F '/' '{print $4}' ''',returnStdout: true).trim() GIT_REPO = sh(script: '''git remote -v | head -1 | awk -F'[/.]' '{print $7}' ''',returnStdout: true).trim() TEAM_NAME = sh(script: '''git remote -v | head -1 | awk -F'[/.]' '{print $7}' | awk -F '_' '{print $1}' | tr '[a-z]' '[A-Z]' ''',returnStdout: true).trim() GIT_COMMIT = sh(script: '''git rev-parse HEAD ''',returnStdout: true).trim() GIT_CHANGE = sh(script: '''git show --stat $GIT_COMMIT | tail -1 ''',returnStdout: true).trim() GIT_AUTHOR = sh(script: '''git log -3 | cat - | grep Author | grep -v nobody@nowhere | awk -F'[<>]' '{print $1}' | awk -F ':' '{print $2}' | sed 's/ //g' | head -1 ''',returnStdout: true).trim() } stages{ stage("trigger1"){ steps{ sh 'echo commit > $WORKSPACE/.trigger_type' } } stage("trigger2"){ when { changeRequest() } steps{ sh 'echo pr > $WORKSPACE/.trigger_type' } } stage("DailyBuild"){ when { triggeredBy 'TimerTrigger' } steps{ sh ''' echo daily > $WORKSPACE/.trigger_type GIT_SSH_COMMAND="ssh -i $HOME/.ssh/seat_rdgit/id_rsa";export GIT_SSH_COMMAND ''' } } stage("Build"){ steps{ sh 'echoEnv "Build"'sh 'mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent compile -Dmaven.test.failure.ignore=true' echo "---------这里替换为执行编译的步骤---------" } } stage("UnitTest"){ steps{ sh 'echoEnv "UnitTest"' echo "========executing UT========" echo "---------执行单元测试----------" sh 'mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent test -Dmaven.test.failure.ignore=true' echo "---------这里替换为执行UT的步骤---------" } post{ success{ echo "========UT executed successfully========" } failure{ echo "========UT execution failed========" echo "--------单元测试失败--------------" } } } stage("SonarScan") { when{ anyOf{ branch 'dev' changeRequest() } } steps { sh 'echoEnv "SonarScan"' echo "---------执行静态代码扫描----------" //sh 'mvn sonar:sonar' } } } post{ always{ echo "========always========" emailext( subject: '${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志', body: '${FILE,path="/opt/app/jenkins/template/email.html"}', to: env.GIT_EMAIL ) } success{ sh 'echoEnv "SUCCESS"' echo "========pipeline executed successfully ========" } aborted{ sh 'echoEnv "ABORT"' } failure{ sh 'echoEnv "FAIL"' echo "========pipeline execution failed========" } }} 1.4 参考资料 https://jenkins.io/https://github.com/jenkinsci/docker/https://hub.docker.com/r/jenkins/jenkins

本篇完~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。