CHAPTER 1 Jenkins部署与基础配置

jenkins中文官网

Jenkins
构建伟大,无所不能

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。

本文将介绍两种部署方式,包括war安装和容器安装。如果是生产环境,建议使用war安装,在后台启动使用。如果是以学习为目的,建议参考容器搭建。其他安装方式参考官网。
官网安装介绍

1.1 jenkins安装

1.1.1 war安装

jenkins由java编写,所以软件依赖java启动,部署jenkins之前,需要部署java。

war安装的优点:Jenkins的Web应用程序ARchive(WAR)文件版本可以安装在任何支持Java的操作系统或平台上。

1. java环境配置:
root@jenkins:/usr/local/src#tar xvf jdk-8u192-linux-x64.tar.gz
root@jenkins:/usr/local/src#ln -sv /usr/local/src/jdk1.8.0_192/ /usr/local/jdk
root@jenkins:/usr/local/src#ln -sv /usr/local/jdk/bin /java/usr/bin/#java命令软连接
[root@dbc-server-554 jenkins]# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
[root@dbc-server-554 jenkins]# java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
2. 设置java环境变量
[root@dbc-server-554 jenkins]# export JAVA_HOME=/usr/bin/java
[root@dbc-server-554 jenkins]# export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
[root@dbc-server-554 jenkins]# export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
[root@dbc-server-554 jenkins]# env|grep java||JAVA
PATH=/usr/bin/java/bin:/usr/bin/java/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
JAVA_HOME=/usr/bin/java
CLASSPATH=.:/usr/bin/java/lib:/usr/bin/java/jre/lib:/usr/bin/java/lib/tools.jar
[root@dbc-server-554 jenkins]# source /etc/profile
[root@dbc-server-554 jenkins]# java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
3. 启动jenkins

下载 Jenkins 2.346.3 LTS for:
https://www.jenkins.io/zh/download/选择Generic Java package (.war)

启动

java -jar jenkins.war

jenkins端口默认是8080,可以通过–httpPort=****改为其他端口,例如

java -jar jenkins.war --httpPort=9090

提示如下信息则为成功

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

56fbb976461e4914bcd788c1ea5df87c

This may also be found at: /root/.jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

切换到后台运行

[root@dbc-server-554 jenkins]# nohup java -jar /usr/local/jenkins.war &
[1] 8297
[root@dbc-server-554 jenkins]# nohup: ignoring input and appending output to ‘nohup.out’

[root@dbc-server-554 jenkins]# ps -ef |grep jenkins
root      8297  5958 86 14:19 pts/0    00:00:21 java -jar /usr/local/jenkins.war
4. 日志

使用nohup后台启动方式的日志存储在nohup.out文件中,如果需要查看log,使用cat或者tail命令就可以了
当然初次启动也可以以后台方式,不过密码信息需要在nohup.out中查找

1.1.2 红帽系安装

To use this repository, run the following command:

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

安装java和jenkins

yum install fontconfig java-11-openjdk
yum install jenkins

修改启动账号
较新版本的jenkins

[root@localhost ~]# cat  /usr/lib/systemd/system/jenkins.service |grep root
User=root
Group=root
[root@localhost ~]# cat  /usr/lib/systemd/system/jenkins.service |grep PORT
Environment="JENKINS_PORT=8080"

重新加载配置文件及启动

systemctl daemon-reload
systemctl start jenkins

插曲:这里在jenkins官网下载的repo是较新的版本,依赖java 11及以上版本,所以此处还需要更新下java

  1. 下载java 11
    官网下载 https://www.oracle.com/java/technologies/downloads/#java11
    下载完成后,上传到服务器
  2. 解压
     tar -zxvf jdk-11.0.19_linux-x64_bin.tar.gz
     mv jdk-11.0.19 /opt/
    
  3. 删除以前版本
    查询已安装的Java版本:
    java -version
    #或者:
    rpm -qa|grep jdk
    
    删除已安装的JDK:
    sudo rpm -e --nodeps [JDK包名]
    
  4. 添加环境变量
    [root@node-253 ~]# tail -5 /etc/profile
    export JAVA_HOME=/opt/jdk-11.0.19
    
    export PATH=$PATH:$JAVA_HOME/bin
    
    export CLASSPATH=.:$JAVA_HIOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
  5. 加载环境变量
    source /etc/profile
    
    到这里java就升级完成了,但是要启动jenkins还不够
  6. 建立软连接
    ln -s /opt/jdk-11.0.19/bin/java /usr/bin/java
    systemctl daemon-reload
    systemctl start jenkins
    

1.1.3 容器搭建

在Docker中下载并运行Jenkins

docker run \
  -u root \
  --rm \  
  -d \ 
  -p 8080:8080 \ 
  -p 50000:50000 \ 
  -v jenkins-data:/var/jenkins_home \ 
  -v /var/run/docker.sock:/var/run/docker.sock \ 
  jenkinsci/blueocean 
[root@k8s-node-02 local]# docker ps
CONTAINER ID   IMAGE                                           COMMAND                  CREATED          STATUS          PORTS                                                                                      NAMES
eb4c6dbf9070   jenkinsci/blueocean                             "/sbin/tini -- /usr/…"   10 minutes ago   Up 10 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:50000->50000/tcp, :::50000->50000/tcp   wizardly_wright
80e89e1c19f2   garland/mesosphere-docker-mesos-master:latest   "mesos-slave"            3 days ago       Up 3 days                                                                                                  mesos_slave_1

docker logs <container-id>

报错:WARNING: IPv4 forwarding is disabled. Networking will not work.
解决方式:
第一步:在宿主机上执行

echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf

第二步:重启network和docker服务

[root@localhost /]# systemctl restart network && systemctl restart docker

1.1.4 总结

三种安装方式各有优缺点,笔者建议在生产环境中使用红帽系搭建方式,因为可以使用systemd管理,配置文件,数据等内容路径比较固定。如果是自己学习,快速了解上手的话,通过docker应该是最快的。通过war包的方式,笔者在生产环境中,遇到过诸多问题,比如由于不是本人搭建,找不到使用版本的war包对应路径,或者nohup.out文件路径等,因为服务器并不是一个人使用,war包可能有多个,不知道使用哪个,有时候只能碰运气。生产环境中如果使用war包的方式,建议写shell脚本,放在固定位置。

1.2 访问jenkins管理页面

浏览http://localhost:8080并等到Unlock Jenkins页面出现,如果不是在本机搭建localhost换成对应IP或者域名,填入密码
在这里插入图片描述

安装插件,可以通过安装推荐插件进行安装。如果安装过程中,有个别插件安装失败也不必担心,在后续的插件管理界面可以单独安装。
在这里插入图片描述
如果因网络问题显示离线,也不必担心。此处可以配置代理,或者选择跳过插件安装,我们选择跳过插件安装。
在这里插入图片描述
创建管理员,此处可以使用admin ,密码是解锁jenkins的密码。或者创建自己的账户
在这里插入图片描述
最后,进入jenkins工作台。
在这里插入图片描述
中文插件:在Manage Jenkins中选择Plugin Manager,Available中输入localization,可以选择安装中文插件
在这里插入图片描述
在前面安装插件失败的地方,可以通过以下网址进行单独安装
插件网址

1.3 创建第一个任务

老规矩,打印hello world!

1.选择New item,输入项目名称,选择Freestyle project。由于笔者新搭建的jenkins未安装其他插件,所以此处只显示freestyle project,正常会有很多类型可以选择,如果在前文中选择了安装推荐插件此处会有较多选择,不过作为第一个打印任务,不安装插件也可以构建成功
在这里插入图片描述
我们在Build中选择Execute shell中填入"echo hello world!",应用保存。
在这里插入图片描述
执行Build Now
在这里插入图片描述
在Build History中查看#1任务Console Output,可以看到打印了hello world,并提示执行成功
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值