资讯专栏INFORMATION COLUMN

自动部署Jenkins使用教程

chuyao / 1923人阅读

摘要:原因是在安装时,只是创建了用户,并没有为其创建目录。在用户下执行下面的操作来修复这个问题修改配置文件加入此行代码命令行提示符环境变量刷新文件,使其有效二使用启动后访问,根据提示操作即可。

系统:CentOS 7
Jenkins版本: 2.121.3-1.1

Jenkins官网:https://jenkins.io/doc/book/i...
官网wiki:https://wiki.jenkins.io/displ...

一、Jenkins安装 1. 安装
安装之前肯定要先安装Java环境
方法一:在线安装(推荐)

Linux:https://pkg.jenkins.io/redhat...

$ 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

$ sudo yum list jenkins --showduplicates #列出所有可以安装的版本
$ sudo yum install jenkins #下载最新的版本
$ sudo yum install jenkins-2.121.3-1.1.noarch  #指定版本下载

安装的时候,会自动做下面的操作:

会将Jenkins设为开机自动启动,具体细节可以查看脚本cat /etc/init.d/jenkins

创建jenkins用户,来运行service。如果运行jenkins时使用的改为了其它用户, 则必须同步修改下面这几个文件的所属权限 /var/log/jenkins /var/lib/jenkins/var/cache/jenkins

控制台输出日志存文件/var/log/jenkins/jenkins.log

可以在/etc/sysconfig/jenkins中设置启动配置参数,默认启动端口为:JENKINS_PORT="8080"

安装目录: /usr/lib/jenkins   
工作目录: /var/lib/jenkins(对应于环境变量 JENKINS_HOME)
配置文件:/etc/sysconfig/jenkins
日志:/var/log/jenkins/jenkins.log
方法二:基于Tomcat安装

安装并启动 Tomcat

从官网下载 jenkins.war 至 $CATALINA_BASE/webapps,Tomcat 会自动部署;

浏览器访问:http://localhost:8080

2. 启动
# 设置允许开机启动(在线安装的时候会自动设置)
$ sudo chkconfig jenkins on


# 启动相关
$ sudo systemctl start jenkins
$ sudo systemctl restart jenkins
或者 
$ sudo service start jenkins

启动后访问:http://localhost:8080

不要访问 http://localhost:8080/jenkins/,否则之后可能出现404错误:
HTTP ERROR 404
Problem accessing /jenkins/. Reason: Not Found
3. 卸载

如果要重装,或者本机不需要 Jenkins,可卸载:

sudo systemctl stop jenkins
sudo systemctl disable jenkins
sudo yum -y remove jenkins
sudo rm -rf /var/{lib,log,cache}/jenkins /usr/lib/jenkins /root/.jenkins
sudo rm -rf `sudo find /{etc,var,run} -name "jenkins*"`
4. 权限问题

如果在root用户下安装,默认jenkins的管理权限是jenkins用户,访问的时候可能会出现以下错误:

Jenkins throwing error: jenkins.model.InvalidBuildsDir: ${ITEM_ROOTDIR}/builds does not exist and probably cannot be created
方法一: 使用root用户来管理jenkins(简单粗暴)

由于jenkins自动部署会用到shell命令,使用root用户会避免遇到更多的问题(但是实际生产中,更推荐不要使用root用户)

$ vim /etc/sysconfig/jenkins # 打开配置文件
    $JENKINS_USER="root" # 修改$JENKINS_USER变量为root,并去掉当前行注释


#修改Jenkins相关文件夹用户权限(必须修改)
$ chown -R root:root /var/lib/jenkins
$ chown -R root:root /var/log/jenkins
$ chown -R root:root /var/cache/jenkins


#重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root
$ service jenkins restart  
$ ps -ef | grep jenkins  # 查看Jenkins进程所属用户
方法二:新建用户【推荐】
$ useradd song #添加新用户song

$ vim /etc/sysconfig/jenkins # 打开配置文件
    $JENKINS_USER="song" # 修改$JENKINS_USER变量为root,并去掉当前行注释

#修改Jenkins相关文件夹用户权限(必须修改)
$ chown -R song:song /var/lib/jenkins
$ chown -R song:song /var/log/jenkins
$ chown -R song:song /var/cache/jenkins


#重启Jenkins服务并检查运行Jenkins的用户是否已经切换为song
$ systemctl restart jenkins
$ ps -ef | grep jenkins  # 查看Jenkins进程所属用户
方法三:切换到jenkins用户

【不推荐使用此方法,会出现各种预想不到的问题】

修改 /bin/false/bin/bash

$ vim /etc/passwd # 修改 jenkins用户的脚本执行目录
jenkins:x:993:989:Jenkins Automation Server:/var/lib/jenkins:/bin/bash

$ su - jenkins #切换用户

会发现切换后jenkins变为了bash-4.2$。原因是在安装jenkins时,jenkins只是创建了jenkins用户,并没有为其创建home目录。所以系统就不会在创建用户的时候,自动拷贝/etc/skel目录下的用户环境变量文件到用户家目录,也就导致这些文件不存在,出现用户名为bash-4.2$的问题了,但是其实本质还是jenkins用户,只是名称显示的是bash-4.2$
在jenkins用户下执行下面的操作来修复这个问题:

#1.修改配置文件.bash_profile
$ vim ~/.bash_profile 
export PS1="[u@h W]$"  #加入此行代码(PS1:命令行提示符环境变量)

$ source ~/.bash_profile #刷新文件,使其有效
二、 使用

启动后访问http://192.168.137.131:8080,根据提示操作即可。

例如:
会出现 【解锁jenkins】的操作页面。

$ cat /var/lib/jenkins/secrets/initialAdminPassword
    cc64c9d00bfd40babd37671df037417b  #复制该密码并粘贴到页面输入框即可解锁。

之后选择【安装推荐的插件】。

三、 未完待续。。。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/33662.html

相关文章

  • 前端自学笔记 - 第二篇(vuePress自动部署 & 后台项目自学)

    摘要:今天部署好了项目,现在写好了博客页面,只要一提交,会自动打包并且部署如果部署失败,还会发送邮件提醒。但今天为了自动化部署项目,挂了三四十次了,真是惨不忍睹。。。而这第二个项目,将会是第一个的深入。 长期更新前端自学笔记,欢迎关注 前端自学笔记 - 第一篇(nginx/flutter/后台系统/vuepress博客) 一、jenkins自动部署vuePress博客项目 自动化部署项目de...

    zzzmh 评论0 收藏0
  • Docker + Jenkins + webhooks 自动部署基础实践

    摘要:自动部署基础实践熟悉的基本操作实现本地后自动构建部署服务此实践用于优化自己在实际工作中的工作流在本地开发到服务器登录云服务器或者简化流程后本地开发云服务器自动构建部署本实践将结合技术来实现云服务器对各种环境的切换与部署。 Docker + Jenkins + webhooks 自动部署基础实践 熟悉 jenkins 的基本操作 ☑️ 实现本地 git push 后 jenkins 自...

    Charlie_Jade 评论0 收藏0
  • Docker容器系列教程(三):jenkins环境搭建与插件安装

    摘要:本文将使用这些命令搭建一个持续集环境,解决不能联网的问题来安装各种常用插件。总结通过本章学习,你已经知道了基于如何在环境下搭建环境,并创建一个项目。以为基础框架,为数据访问层,为权限授权层,对常用数据进行缓存,基于构建的作为前端框架。 回顾:上一文对Docker常用的命令以罗列的方式做了一个详尽的介绍。本文将使用这些命令搭建一个jenkins持续集环境,解决jenkins不能联网的问题...

    vvpvvp 评论0 收藏0
  • 从0开始搭建自动部署环境

    摘要:针对此改变,重新整理并记录自动部署环境配置步骤。官方源下载可能很慢,更换成国内的源,比如阿里云的源启动并设置开机自启更换镜像源从官方源下载镜像可能很慢,更换成阿里云的源即可。阿里云专属加速器地址。 前言 从Docker改变使用动态库后,DooD不再可行,而Dind依然可行。针对此改变,重新整理并记录自动部署环境配置步骤。 此环境是实现微服务自动部署的基础,使用jenkins持续集成工具...

    姘搁『 评论0 收藏0
  • 从0开始搭建自动部署环境

    摘要:针对此改变,重新整理并记录自动部署环境配置步骤。官方源下载可能很慢,更换成国内的源,比如阿里云的源启动并设置开机自启更换镜像源从官方源下载镜像可能很慢,更换成阿里云的源即可。阿里云专属加速器地址。 前言 从Docker改变使用动态库后,DooD不再可行,而Dind依然可行。针对此改变,重新整理并记录自动部署环境配置步骤。 此环境是实现微服务自动部署的基础,使用jenkins持续集成工具...

    mating 评论0 收藏0

发表评论

0条评论

chuyao

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<