企业级 DevOps 环境搭建

企业级devops自动化部署学习

一:安装jdk

Jenkins需要依赖JDK,检查机器是否安装了JDK,可以使用 javac -version
所以先安装JDK11
Centos 先检查是否有安装JDK的版本,如有安装,则需要删除旧版本;
命令行 rpm -qa | grep java 会显示已经安装的JAVA package;
在这里插入图片描述
若已经安装了就版本,则需要先删除,删除方法是通过如下命令:
rpm -qa nodeps [java package]

检查 yum 原的 Java 11 版本:

在这里插入图片描述
其实我们通常不用都安装这些包,只要安装如下三个就可以了;
java-11-openjdk-headless-11.0.16.0.8-1.el7_9.x86_64
java-11-openjdk-11.0.16.0.8-1.el7_9.x86_64
java-11-openjdk-devel-11.0.16.0.8-1.el7_9.x86_64
若你不清楚,建议考虑安装所有的包;安装命令如下:
yum install -y java-11-openjdk* -y
我是指安装了三个软件包,安装方法如下:
yum install -y java-11-openjdk-headless-11.0.16.0.8-1.el7_9.x86_64 java-11-openjdk-11.0.16.0.8-1.el7_9.x86_64 java-11-openjdk-devel-11.0.16.0.8-1.el7_9.x86_64
在这里插入图片描述
安装完成,安装目录为:/usr/lib/jvm
在这里插入图片描述
安装好后,编辑配置文件,设置环境变量:vi /etc/profile
在profile文件中添加如下内容
#set java environment
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.16.0.8-1.el7_9.x86_64
JRE_HOME=$JAVA_HOME
CLASS_PATH=.:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
保存退出
让修改生效:source /etc/profile
验证 Java 安装版本及结果,显示如下表明已经成功安装;
在这里插入图片描述

二:安装jenkins

1、获取jenkins的rpm包

这里我们用阿里云镜像拉取
wget https://mirrors.aliyun.com/jenkins/redhat/jenkins-2.350-1.1.noarch.rpm

2、安装jenkins

rpm -ivh jenkins-2.350-1.1.noarch.rpm
在这里插入图片描述
到这里,jenkins已经安装完,
默认安装目录: /usr/lib/jenkins
工作目录: /var/lib/jenkins(对应于环境变量 JENKINS_HOME)

3、修改Jenkins配置

打开配置文件:vi /etc/sysconfig/jenkins
修改内容如下:
JENKINS_USER=“root”
JENKINS_PORT=“8888”
JENKINS_USER 必须修改,否则权限不足
JENKINS_PORT可以不修改,为了避免与tomcat服务器端口冲突,此处建议还是要改
在这里插入图片描述

4、修改jenkins.service 中的端口号

systemctl enable Jenkins
vi /usr/lib/systemd/system/jenkins.service
在这里插入图片描述
启动jenkins来查看jenkins所运行的端口
systemctl start jenkins
systemctl status jenkins
在这里插入图片描述
jenkins端口修改成功,但此时因为防火墙问题,jenkins启动超时;
需要开放防火墙,才可以访问 Jenkins;

5、防火墙开放http服务以及8888端口

firewall-cmd --add-service=http --permanent
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload
在这里插入图片描述

6、访问jenkins:http://192.168.19.50:8888/

在这里插入图片描述

7、获取admin账户初始化密码并登录

cat /var/lib/jenkins/secrets/initialAdminPassword
在这里插入图片描述
将密码COPY 后输入解锁Jenkins 版面;完成解锁。

8、跳过插件安装

在这里插入图片描述
在这里插入图片描述

9、添加管理员账户

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此,jenkins的安装配置已经完成

三、jenkins的基本使用

插件管理

Jenkins本身不提供很多功能,我们可以通过使用插件来满足我们的使用。例如从Gitlab拉取代码,使用Maven构建项目等功能需要依靠插件完成。

1、安装中文汉化插件,可以使jenkins汉化

Manage Jenkins->Manage Plugins->在"available"tab列搜索"Chinese"->下载后重启
在这里插入图片描述
在这里插入图片描述
重启jenkins后,可以看到汉化成功,不过只能支持部分汉化,没有做到全量汉化;
当然,你也可以不用汉化;
在这里插入图片描述

2、Jenkins用户权限管理

安装[Role-based Authorization Strategy]插件
Jenkins用户权限管理需要使用到【Role-based Authorization Strategy】插件,下面进行安装
在这里插入图片描述
安装重启后,在Manage Jenkins管理页面就会看到多出个Configure Glogal Security的安全配置选项
在这里插入图片描述
开启权限全局安全配置,授权策略选择为【Role-Based Strategy】后保存
在这里插入图片描述

创建角色

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里有三种角色,分别对三种角色进行介绍。
Global roles(全局角色):管理员等高级用户可以创建基于全局的角色
Item role(项目角色):针对某个或者某些项目的角色
Node role(节点角色):针对节点相关的权限

接下来我们创建三个角色。
baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,则会报错误
role1:该角色为项目角色。使用正则表达式绑定"auto.",意思是只能操作auto开头的项目。
role2:该角色也为项目角色。使用正则表达式绑定"test.
",意思是只能操作test开头的项目。
在这里插入图片描述
在这里插入图片描述

创建用户

在这里插入图片描述
分别新增zhangsan,lisi两个用户
在这里插入图片描述

用户绑定角色

为zhangsan绑定role1角色,为lisi绑定role2角色
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建项目测试

管理员创建两个项目,auto001,test001
在这里插入图片描述
在这里插入图片描述
用zhangsan用于登录的结果: 在这里插入图片描述
用lisi用户登录的结果:
在这里插入图片描述

3、Jenkins凭证管理

凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便Jenkins可以和这些第三方的应用进行交互。
要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件。

安装Credentials Binding插件

在这里插入图片描述
在这里插入图片描述
安装好后,在manage Jenkins中就多了【凭据配置】和【Manage Credentials】选项
在这里插入图片描述

进行【凭据配置】

在这里插入图片描述

5种凭据的解析:

Username with password:用户名和密码
SSH Username with private key: 使用SSH用户和密钥
Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
Certificate:通过上传证书文件的方式
常用的凭据有:Username with password(用户密码)和SSH Username with private key(SSH秘钥)

Jenkins如何自动获取代码打包及部署。

为了让Jenkins支持从Gitlab拉取源码,需要在Jenkins汇总安装Git插件以及在CentOS7服务上安装Git工具

1、Jenkins 上安装git插件

在这里插入图片描述

2、Jenkins添加凭证,选择用户密码类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、测试凭证是否可用

(1)配置前面新建的test001项目

在这里插入图片描述
在这里插入图片描述

(2)在源码管理处选择Git,其中Repository URL为gitlab项目中复制出来的URL

在这里插入图片描述
在这里插入图片描述

(3)构建项目

在这里插入图片描述
在这里插入图片描述

(4)检查构建日志

在这里插入图片描述
在这里插入图片描述
(5)查看/var/lib/jenkins/workspace/ 目录,发现已经从Gitlab成功拉取了代码到Jenkins中。
在这里插入图片描述

4、Maven安装与配置

在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目。

4.1、服务器安装maven

wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
在这里插入图片描述
下载完后解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
将解压文件copy 到 /opt 目录下:
mv apache-maven-3.6.3 /opt
配置环境变量
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export MAVEN_HOME=/opt/apache-maven-3.6.3
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
在这里插入图片描述
查看配置是否生效
source /etc/profile #使配置生效
mvn -v #查看Maven版本
在这里插入图片描述

4.2、在jenkins中全局工具配置中关联JDK和Maven

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4.3、添加jenkins全局变量

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4.4、修改maven的setting文件

mkdir /opt/repository #创建本地仓库目录
chmod +777 /opt/repository # 给路径加权限
vi /opt/apache-maven-3.6.3/conf/settings.xml
(1) 将本地仓库地址修改为:/opt/repository
在这里插入图片描述
(2)追加maven仓库镜像

<mirror>
            <id>alimaven</id>
            <mirrorOf>*</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/repositories/public/</url>
        </mirror>

在这里插入图片描述

4.5、测试Maven配置是否成功

使用jenkins前面测试的test002项目进行配置
在这里插入图片描述
构建->增加构建步骤->Execute Shell
在这里插入图片描述
输入命令:mvn clean package
在这里插入图片描述
完成后进行构建项目:
在这里插入图片描述
查看项目构建日志(控制台输出)
在这里插入图片描述
在这里插入图片描述
构建成功了,接下来到/opt/repo目录下查看是否下载依赖包成功,可以看到相关的依赖包下载成功 在这里插入图片描述
再查看jenkins工作空间下jar包是否生成成功
ls /var/lib/jenkins/workspace/test002/target/
在这里插入图片描述
成功访问到了项目,自此,jenkins调用maven编译打包已完成

截止到目前已经完成如下四项工作:
第一:建立虚拟机
第二:建立 k8s 集群
第三:建立 gitlab 代码仓库
第四:建立 jenkins 及 maven 打包
第五:制作镜像并发布到 k8s 集群()

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
企业DevOps技术与工具实践是一种将开发和运维整合起来及实现自动化和持续交付的方法论。它的目标是通过最小化手动干预来加速软件开发、测试和交付的过程。 要成功实施企业DevOps,您需要在以下几个方面做好准备: 1.文化转型 企业DevOps需要大力推动开发团队和运维团队之间的沟通与协作,因此需要在组织内部建立一种文化,强调不断学习和分享经验的价值。团队成员之间应该有共同的目标,共同合作,以便顺利实施DevOps。 2. 自动化和自动测试 企业DevOps强调的是自动化流程,包括部署、测试和文档等。所有这些流程都应该由工具自动完成,以减少人工干预的错误和开发时间。提高自动测试的质量和覆盖率对于减少错误和快速部署也是至关重要的。 3. 日志和监控 DevOps还需要强调对应用和系统的监控和日志分析技术的使用。通过监控和日志,可以及时检测问题并追踪错误的原因。为了保证高质量的应用程序和服务,我们需要使用各种工具,例如日志聚合和监控解决方案。 4. 持续集成和持续交付 企业DevOps中的“持续集成和持续交付”是指将整个流程自动化,实现代码集成自动化和持续交付,让代码到达生产环境的速度更快。这样可以确保系统的可靠性和稳定性。 5. 安全性 DevOps中要时刻关注安全。我们必须考虑到安全性的风险,部署正确的防御措施来保护数据和系统。 在企业DevOps中,还有很多其他方面的技术和工具需要了解和掌握。总之,通过引入DevOps方法、文化和工具,可以提高应用的质量和减少错误,加速交付,并提高整个团队的生产力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值