志宇-Jenkins学习

部署Jenkins

Jenkins下载war包版
添加用户 useradd tomcat
给用户设置密码 passwd tomcat
解压tomcat tar -zxvf apache-tomcat-9.0.8.tar.gz -C /usr/local/
将jenkins的war复制到webapp目录下cp jenkins.war /usr/local/apache-tomcat-9.0.8/webapps/
修改tomcat端口 vim conf/server.xml
给用户添加tomcat目录的权限chown -R tomcat:tomcat apache-tomcat-9.0.8/
开启 ./startup.sh./startup.sh && tail -f ../logs/catalina.out catalina.out为日志文件

官网上有更简便的方法 运行命令 java -jar jenkins.war --httpPort=8080即可启动

访问Jenkins

将服务器上的文件中的内容粘贴进去则完成验证,切记任何名字不要用中文
在这里插入图片描述
此时发现提示Jenkins离线,或者下载插件不成功
访问 http://www.lizhiyu.xyz:9999/jenkins/pluginManager/advanced
拉到最底下,将URL从https–》改成http,之后提交 ​
重启tomcat ​ 然后再次访问 http://www.lizhiyu.xyz:9999/jenkins
或者将URL改成
http://mirror.esuni.jp/jenkins/updates/update-center.json
然后再重启tomcat
注册完进入到页面或者白屏再重启下
重启后进入发现提示Jenkins版本有问题
在这里插入图片描述
下载新的版本再次上传重启Tomcat
在这里插入图片描述

Jenkins安装插件

系统管理-》插件管理
安装maven Integration,通过它能构建maven
在这里插入图片描述
安装publish over ssh 插件,用于发布
在这里插入图片描述
安装gitlab插件,用于gitlib中代码更新后Jenkins立刻部署
在这里插入图片描述
安装如下两个插件然后可以通过图形化界面创建一个pipeline的任务
在这里插入图片描述
在这里插入图片描述

Jenkins配置

配置JDK

设置-》全局工具配置
echo $JAVA_HOME 查看jdk配置路径
在这里插入图片描述

配置MAVEN

设置-》全局工具配置
echo $MAVEN_HOME 查看maven安裝路径
在这里插入图片描述

配置Git

yum install -y git 安装git
yum history 查看安装历史
查看安装的软件的位置
1、 rpm -qa |grep git 查找git的安装包
git-1.8.3.1-23.el7_8.x86_64
2、 rpm –ql git-1.8.3.1-23.el7_8.x86_64 | grep /usr/bin 查找安装包的安装路径

yum 命令安装软件路径如下
Directory               Contents of Directory
/etc                    一些配置文件的目录,例如/etc/init.d/mysql
/usr/bin                一些可执行文件
/usr/lib                一些程序使用的动态函数库
/usr/share/doc          一些基本的软件使用手册与帮助文档
/usr/share/man          一些man page文件

Jenkins中Git配置如下

在这里插入图片描述

配置邮箱

设置-》全局工具配置
在这里插入图片描述

Jenkins配置GitHub

地址

Jenkins授权gitlib的项目

然后在服务器上用启动Jenkins的用户去生成私钥
yum -y install openssh-clients 安装创建私钥的命令
ssh-keygen -t rsa 创建私钥
more ~/.ssh/id_rsa.pub查看公钥
more ~/.ssh/id_rsa查看私钥
进行如下配置然后保存
在这里插入图片描述

首先找到启动Jenkins的用户
在这里插入图片描述
然后将公钥添加到gitlib上
在这里插入图片描述
然后来到Jenkins新建一个任务
在这里插入图片描述
然后填写gitlib上的git地址、刚才的用户、和分支即可
在这里插入图片描述

允许Jenkins感知gitlib更新

在gitlib上配置
在这里插入图片描述
jenkins安装gitlab插件
jenkins在创建任务时候选择
在这里插入图片描述
在gitlib上,在跟新后要被Jenkins感知的项目上配置url 和token,保存
在这里插入图片描述
测试发布
在这里插入图片描述

如果是linux远程无密访问另一台服务器要进行如下步骤

ssh-keygen -t rsa
如果命令不存在
yum -y install openssh-clients
在这里插入图片描述
cd ~/.ssh
在这里插入图片描述
authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa :生成的私钥文件
id_rsa.pub : 生成的公钥文件
know_hosts :已知的主机公钥清单

ssh-copy-id root@www.lizhiyu.xyz 这句话的意思是将本地公钥存到www.lizhiyu.xyzauthorized_keys文件中,然后直接 ssh root@www.lizhiyu.xyz 即可服务器无密登录

Jenkins无密访问另一台服务器

Jenkins中 系统管理==》系统设置
在这里插入图片描述
配置本地私钥位置,和远程服务器ip和要登录的远程用户名
在这里插入图片描述

Jenkins创建Maven任务

1、指定项目地址和分支(需要Jenkins授权gitLab)
在这里插入图片描述
2、设置Jenkins感知gitLib更新(要设置gitLab允许Jenkins感知)
在这里插入图片描述
3、当项目拉取下来,加载Maven配置,构建jar包(要求配置好maven)
在这里插入图片描述
4、将项目发布到远程,并且调用远程的脚本启动项目(要允许Jenkins免密访问另一台服务器)
在这里插入图片描述
选择 Execute shell 构建成功后执行本地脚本
在这里插入图片描述
然后再添加个执行的步骤 Send files or execute commands over SSH
在这里插入图片描述
在这里插入图片描述
demo.sh 脚本如下

#!/bin/sh
## java env
export JAVA_HOME=/usr/local/jdk1.8.0_25
export JRE_HOME=$JAVA_HOME/jre

## service name
APP_NAME=xxx

SERVICE_DIR=/home/lizhiyu/$APP_NAME
SERVICE_NAME=xxx
JAR_NAME=$SERVICE_NAME\.jar
PID=$SERVICE_NAME\.pid

cd $SERVICE_DIR

case "$1" in

    start)
        nohup $JRE_HOME/bin/java -Xms512m -Xmx1024m -jar $JAR_NAME >/dev/null 2>&1 &
        echo $! > $SERVICE_DIR/$PID
        echo "=== start $SERVICE_NAME"
        ;;

    stop)
        kill -9 `cat $SERVICE_DIR/$PID`
        
    restart)
        $0 stop
        sleep 2
        $0 start
        echo "=== restart $SERVICE_NAME"
        ;;

    *)
        ## restart
        $0 stop
        sleep 2
        $0 start
        ;;

esac
exit 0

通过pipeline来创建任务

安装好 blue ocean 等插件后来到页面创建pipeline
在这里插入图片描述

在这里插入图片描述
每个步骤执行是否成功都能通过图形化界面显示,哪步出错更容易看
要注意备注pipeline每一步的操作备注 必须是英文,
同时执行远程命令时用户要用对
在发布成功会将一个jenkinsfile文件上传到git上面用于保存执行步骤

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值