首页 > 其他分享 >搭建jenkins实现自动化部署

搭建jenkins实现自动化部署

时间:2023-09-16 11:55:20浏览次数:51  
标签:git java sudo token ssh 自动化 jenkins 搭建

一、安装jenkins

1、添加yum repos,然后安装

1 2 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

 注:如果上边的执行成功就不用再执行这两行了

1 2 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/RedHat/jenkins.repo sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

 注:如果网络不好需要重试几次

1 sudo yum install jenkins

2、如果未安装java还需安装java

1 sudo yum install java

3、启动和停止

1 2 3 sudo service jenkins start sudo service jenkins stop sudo service jenkins restart<br><br>
1 sudo chkconfig jenkins on

如果启动失败,可以运行如下命令查看错误信息

1 systemctl status jenkins.service

如上错误是java配置错误,需要修改jenkins配置文件

1 vi /etc/rc.d/init.d/jenkins

类似如下修改:

1 2 3 4 5 candidates=" ************ ************ /usr/local/jdk1.8/bin/java "

4、jenkins的默认设置

  Jenkins会随系统启动而启动。详情参照/etc/init.d/jenkins
  Jenkins会创建一个用户叫做jenkins, 如果你修改了user,则要修修改所属者:/var/log/jenkins,/var/lib/jenkins,/var/cache/jenkins
  如果遇到问题,查看日志/var/log/jenkins/jenkins.log
  配置文件/etc/sysconfig/jenkins
  默认启用8080

 5、打开和关闭防火墙

  开启非80端口需要打开防火墙,参考:http://www.cnblogs.com/rslai/p/7954080.html

6、关于centos上的java
  Jenkins不支持在centos的默认的jdk上工作。如果如下所示,则需要remove:

  java -version
  java version "1.5.0"
  gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)
  为了正确使用Jenkins:

  yum remove java
  然后可以安装openjdk

  yum install java-1.7.0-openjdk
  正确如下:

  java -version
  java version "1.7.0_79"
  OpenJDK Runtime Environment (rhel-2.5.5.1.el6_6-x86_64 u79-b14)
  OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

7、配置java路径
直接启动:

sudo service jenkins start
但是发现启动失败,于是需要配置java位置:

vi /etc/init.d/jenkins
在启动加入本机的java:

[root@iZ94xvn71eeZ ~]# vim /etc/init.d/jenkins


# Set up environment accordingly to the configuration settings
[ -n "$JENKINS_HOME" ] || { echo "JENKINS_HOME not configured in $JENKINS_CONFIG";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }
[ -d "$JENKINS_HOME" ] || { echo "JENKINS_HOME directory does not exist: $JENKINS_HOME";
if [ "$1" = "stop" ]; then exit 0;
else exit 1; fi; }

# Search usable Java as /usr/bin/java might not point to minimal version required by Jenkins.
# see http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
/usr/java/jdk1.7.0_80/bin/java

 8、配置端口

  修改

1 vi /etc/sysconfig/jenkins

  内容改为需要的端口

1 JENKINS_PORT="8080"

9、yum安装Jenkins默认路径为

  /var/lib/jenkins

二、进入jenkins

1、打开

1 http://192.168.3.231:8080

2、查看密码,将内容填写到密码处点击继续

1 cat /var/lib/jenkins/secrets/initialAdminPassword

3、选择默认插件即可  

4、设置管理员

 三、安装和Git,GitLab插件

1、安装git客户端

  Linux安装配置git参见,只需要安装客户端不需要产生sshkey,如果你又想再jenkins上用git又想直接再linux上用再生成key

  http://www.cnblogs.com/rslai/p/8175864.html

2、安装git插件

3、在这里将安装和Git,GitLab插件,注意使用ctrl+f查找

4、配置gitLab连接

5、找到Gitlab配置,如下图

  name:可以随便写一个

  host URL:host地址注意只填写host不要库地址写http地址即可

  credentials:选择一个证书

   新建一个证书,选择add->Jenkins添加一个证书

  kind:选择GitLab API token

  API token:输入token,如何找到token参见下面 

  查找token,token需要在gitLab中查找,不同版本的gitLab方式不同

    a)在Access Tokens中就显示了api token直接copy即可

    b)在如下页面填入名字和过期时间后自动生成token,生成后一定要使用记事本记下来,之后无法查看该token

   回到Jenkins设置token后Test Connection,如果测试成功

四、新建item

1、生成ssh key 

由于jenkins执行脚本的使用使用的是jenkins这个账号,所以公钥私钥需要放在此用户的目录里。

a)由于此账号是一个不允许登录且修改了home目录的账号,所以需要先执行 vi /etc/passwd 查看一下jenkins账号的home目录,在里边找到jenkins这个账号其中红框部分为他的home目录

b)生成root(不是root其它账号也可)账号的sshkey

1 2 3 4 ssh-keygen -t rsa -C "[email protected]" -b 4096 # 生成公钥私钥,注意双引号内是个助记符根据需要修改 cd /root/.ssh # 进入ssh目录 git ls-remote -h ssh://git@118.188.3.87:1022/html/tamH5.git HEAD # 连一下git服务器,生成known_hosts文件 ll # 查看文件

如果没有 known_hosts 文件之后Jenkins发布时会有如下错误 “Host key verification failed.”

c)进入jenkins目录将刚才创建的sshkey复制过来并将所有者指到jenkins账号

1 2 3 4 5 6 cd /var/lib/jenkins # 进入jenkins的home目录 mkdir .ssh # 创建ssh目录存放sshkey文件,如果存在会报错 cd .ssh cp /root/.ssh/* . # 将root账号下的sshkey文件复制过来,此时如果执行ll看一下这两个文件所有这应该是root chgrp jenkins * # 将key文件的组改为jenkins chown jenkins * # 将key文件的所有者改为jenkins

d)此时pwd再ll应该看到如下内容  

2、打开 id_rsa.pub 将其中内容复制到记事本中,然后再copy到git服务器上

3、访问gitlab将刚才生成的公钥添加到ssh keys中

 

4、创建证书

  a)Jenkins -> Credentials

 

  b)global -> Add credentials新建一个证书

  c)填写证书信息

    kind:选择 SSH Username with private key

    Username:随便输入,之后在创建item是记得住选择那个即可

    Priveate key:选择“Enter directly”后输入私钥,记住一定是私钥 (按照上步骤在linux上生成密钥后,会是一对其中带pub后缀的是公钥。id_rsa私钥、id_rsa.pub公钥)。在linux执行cat id_rsa将所有内容copy填入key中

    Passphrase:不填,如果填了每次都需要输入密码

    填好后点击“ok”保存

2、新建item

  a)新建Item

  b)输入任务名称,选择“构建一个自由风格软件项目”后单击“确定”

  

   c)在GitLab connection处选择刚才创建的连接(输入git host时创建的连接)

    选择git并Credentials处选择刚才输入私钥的证书

    Repository URL输入git项目地址(注意输入时需添加ssh注意如果修改端口应填写ssh://git@host:port/xxxxxx/xxxxx.git)

    之后单击“保存”即可。

 

3、构建job 

  a)进入demo job

 

  b)点击“立即构建”

    由于item只配置了git所以只会clone git,clone后在如下目录中,以job名称为目录保存

     /var/lib/jenkins/workspace

 

 

 

构建后目录

1 ./var/lib/jenkins/workspace/

根据job名字放到相应目录

 

 

 

 

 

 

 

 

 

 

 

 

 

安装插件 

 

 

 

 

 

 

 

 

 

参考文档:

  http://blog.csdn.net/achuo/article/details/51086599

  http://blog.csdn.net/wangfei0904306/article/details/56011877

标签:git,java,sudo,token,ssh,自动化,jenkins,搭建
From: https://www.cnblogs.com/lhxsoft/p/17706533.html

相关文章

  • Vue3开发环境搭建全攻略:Vite的详细介绍
    Vite简介Vite这个单词是一个法语单词,意思就是轻快的意思。它和我们以前使用Vue-cli的作用基本相同,都是项目初始化构建工具,相当于Vue项目构建的第二代产品,当然它也包含了项目的编译功能。需要注意一下Vite的生产环境下打包是通过Rollup来完成的。Vite特性介绍Vite主打特点就是轻快冷......
  • 在Ubuntu20.0下搭建CUDA、cuDNN、Anaconda、pycharm
    其他链接1.buntu18.04下搭建CUDA、cuDNN、Anaconda、tensorflow1.15、Pycharm、ros、Cl2.pip使用中科大源、清华源或修改默认源为中科大源、清华源安装照着链接1的方法就可以下好cuda、cudnn和anaconda1.先装驱动,检验驱动nvidia-smi出现这个页面就成功了2.安装cuda,检验c......
  • 如何使用树莓派搭建一个流媒体服务器 All In One
    如何使用树莓派搭建一个流媒体服务器AllInOneRaspberryPiStreamMeidiaServerRaspberryPiMeidiaPlayerOSEmbyMediaServerhttps://emby.media/https://github.com/MediaBrowser/Embyhttps://apps.apple.com/us/app/emby/id992180193?platform=macEmbyThea......
  • Linux服务器搭建环境复盘
    Linux服务器搭建环境复盘Linux服务器上是没有开发环境的,需要自己配置,在获得了服务器账号后,通过WinSCP登录可以传文件。下载anaconda官网下载AnacondaLinux版本到自己的电脑上,然后通过WinSCP拖拽上传到服务器。记得是点那个小企鹅而不是手快点了Download。然后ssh远程......
  • 药企数字化之道:激发更强创新力的底座搭建
    行业背景生物医药领域自21世纪初以来,得益于数字化转型的推动,实现了业务形态的阶段性提升。生物医药企业通过数字化技术,重点提升了企业在市场拓展以及产品创新方面的综合竞争力。从实际应用来说,可以优化和重构生产流程、业务流程,以及传统的管理、生产、业务和商业模式,甚至拓展至原材......
  • mac版本Spring5.0源码环境搭建
    下载spring5.0版本代码链接是:https://github.com/spring-projects/spring-framework.git装gradle,使用的版本是8.3版本链接是:https://gradle.org/next-steps/?version=8.3&format=bin有错误提示:/Users/wangyu/work/code/spring-framework/buildSrc/src/main/java/org/springfra......
  • 本地搭建的Redis集群中实现配置DB0到DB255
    要在本地搭建的Redis集群中实现配置DB0到DB255,需要执行以下步骤:1.编辑Redis配置文件(redis.conf):使用文本编辑器打开redis.conf文件,找到以下配置项:```#Setthenumberofdatabases.ThedefaultdatabaseisDB0,youcanselect#adifferentoneonaper-connect......
  • 从零玩转系列之微信支付实战基础框架搭建
    一、前言halo各位大佬很久没更新了最近在搞微信支付,因商户号审核了我半个月和小程序认证也找了资料并且将商户号和小程序进行关联,至此微信支付Native支付完成.此篇文章过长我将分几个阶段的文章发布(项目源码都有,小程序和PC端)在此之前已经更新了微信支付开篇、微信支付安全、本......
  • 开源视频会议服务Jitsi Meet搭建
    现在腾讯会议和钉钉的视频会议免费版都恢复了限制,只能60分钟,遂查找开源替代,jitsi这个不错,主要功能都可替代比如共享屏幕,可以自建服务,保证信息安全,开发语言是java,如果以后进行二次开发也容易上手。官网教程地址:Self-HostingGuide-Overview|JitsiMeet其他参考文章:WebRTC之......
  • 【接口自动化测试】Eolink Apilkit 安装部署,支持 Windows、Mac、Linux 等系统
    EolinkApikit有三种客户端,可以依据自己的情况选择。三种客户端的数据是共用的,因此可以随时切换不同的客户端。我们推荐使用新推出的ApikitPC客户端,PC端拥有线上产品所有的功能,并且针对本地测试、自动化测试以及使用体验等方面进行了强化,可以提供最佳的使用感受。建议对......