DevOps自动化部署

DevOps自动化部署学习

持续集成流程图:

 

1、首先,开发人员每天进行代码提交,提交到Git仓库

2、然后,Jenkins从Gitlab中拉取项目源码,编译并打成jar包,然后构建成Docker镜像,将镜像上传到Harbor私有仓库。

3、Jenkins发送SSH远程命令,让生产部署服务器到Harbor私有仓库拉取镜像到本地,然后创建容器。

4、最后,用户可以访问到容器

服务器准备:准备四台服务器

1、服务器1只装gitlab,专门用于存放代码

2、服务器2主要是使用jenkins进行持续集成,而向gitlab拉取代码,需要装git,向docker推送镜像,需要装docker

3、服务器3主要是用来存镜像,需要安装docker和harbor

4、服务器4主要是部署应用,由于需要向docker仓库服务器拉取镜像,所以需要装docker

服务器配置;

名称

IP地址

  安装的软件

代码托管服务器(CentOS7-test001)

192.168.80.133

gitlab

持续集成服务器(CentOS7-test002)

192.168.80.134

jenkins,jdk,maven,git,docker

docker仓库部署服务器(CentOS7-test003)

192.168.80.135

docker,harbor

生产部署服务器(CentOS7-test004)

192.168.80.136

docker

  • 安装gitlab
  1. 安装相关依赖

yum -y install policycoreutils openssh-server openssh-clients postfix

  1. 设置postfix开机自启,并启动,postfix支持gitlab发信功能:

systemctl enable postfix && systemctl start postfix

  1. 开放ssh以及http服务,然后重新加载防火墙列表 :

firewall-cmd --add-service=ssh --permanent

firewall-cmd --add-service=http --permanent

firewall-cmd –reload

  1. 下载gitlab包并安装,此处我放在opt目录下

wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.1.0-ce.0.el7.x86_64.rpm

5、安装gitlab

rpm -ivh gitlab-ce-14.1.0-ce.0.el7.x86_64.rpm

6、修改gitlab配置,gitlab访问地址和端口

vim /etc/gitlab/gitlab.rb

external_url 'http://192.168.80.133:82'

nginx['listen_port'] =  80

7、重载配置及启动gitlab

    gitlab-ctl reconfigure  #此命令花时几分钟

gitlab-ctl restart

8、把端口添加到防火墙

   firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd –reload

9、安装完gitlab之后浏览器输入http地址访问

  • gitlab的基本使用
  1. 更改密码:gitlab的初始密码存储在 /etc/gitlab/initial_root_password下
  2. 登录gitlab,创建用户和用户组,将用户添加到用户组,在用户组里创建项目
  3. 将本地项目代码上传到gitlab项目中

  • 安装jenkins

默认安装目录: /usr/lib/jenkins 

工作目录: /var/lib/jenkins(对应于环境变量 JENKINS_HOME)

1、jenkins配置

vim /etc/sysconfig/Jenkins

修改内容如下: 

JENKINS_USER="root"

JENKINS_PORT="8888"

JENKINS_USER 必须修改,否则权限不足

JENKINS_PORT可以不修改,为了避免与tomcat服务器端口冲突,此处还是要改改

(vim /usr/lib/systemd/system/jenkins.service加载目录也可以修改端口)

2、启动并查看状态

systemctl start jenkins

systemctl status Jenkins

3、重新加载配置文件

systemctl daemon-reload

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

firewall-cmd --add-service=http --permanent

firewall-cmd --zone=public --add-port=8888/tcp --permanent

firewall-cmd –reload

访问jenkins:

http://192.168.80.134:8888/

二、jenkins的基本使用

1、安装汉化插件:Manage Jenkins->Manage Plugins->在"available"tab列搜索"Chinese"->下载后重启

2安装[Role-based Authorization Strategy]插件(jenkins权限管理需要使用到的插件

3、创建角色以及用户,将角色绑定到用户上

4、jenkins上安装git插件,在服务器上安装git工具

yum install git -y

git --version #安装完后查看版本

5、安装credentails binding来进行jenkins凭证管理

进行凭证管理:

1

添加密码用户类型,将github上的用户和密码配置

 

2

ssh密钥类型凭证,

 

使用root用户生成公钥和私钥: ssh-keygen -t rsa

生成密钥公钥保存在/root/.ssh下

把公钥放到gitlab中:

 

 

在jenkins中配置私钥:

 

  • maven安装配置
  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

  1. 配置环境变量

vim /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版本

  1. 在jenkins全局配置中关联jdk和maven

添加jenkins全局变量:

4.修改maven的settings.xml配置

指定默认java8:

<profile>

    <id>jdk18</id>

    <activation>

        <activeByDefault>true</activeByDefault>

        <jdk>1.8</jdk>

    </activation>

    <properties>

        <maven.compiler.source>1.8</maven.compiler.source>

        <maven.compiler.target>1.8</maven.compiler.target>

        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>

    </properties>

</profile>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值