CICD构建实验「建议收藏」

CICD构建实验「建议收藏」CICDCICD是一个可以集部署、拉取、上传等于一体的架构环境,它支持一线进行部署,免去了人工一条条的进行部署环境的工作流程,大大降低了人力手工运维成本和出错率。CICD的搭建需要至少三台服务器,他们分别监管着Harbor(镜像仓库存储),git(开发代码仓库存储),Jenkings(一键化部署)企业级镜像Harbor部署docker镜像级的存储可以储存在dockerhub上,也可以储存在自建本地仓库上,而Harbor属于本地仓库的其中一种,该软件可以提供图形化界面操作,安装简单,且方便查看。

大家好,又见面了,我是你们的朋友全栈君。

CICD

CICD是一个可以集部署、拉取、上传等于一体的架构环境,它支持一线进行部署,免去了人工一条条的进行部署环境的工作流程,大大降低了人力手工运维成本和出错率。
CICD的搭建需要至少三台服务器,他们分别监管着Harbor(镜像仓库存储),git(开发代码仓库存储),Jenkings(一键化部署)

企业级镜像Harbor部署

docker镜像级的存储可以储存在docker hub 上,也可以储存在自建本地仓库上,而Harbor属于本地仓库的其中一种,该软件可以提供图形化界面操作,安装简单,且方便查看。
它是一个类似docker hub的可以使用浏览器进行登录操作查看的软件,又不需要像docker hub需要直接网上拉取,导致容易出现丢包、拉取失败的现象,因此国内很多企业都会将安装包存放于此。

安装

1)首先需要一台虚拟机,在搭建好docker和compose的情况下才能进行Harbor的下载,其中Harbor的下载有多种,有在线安装(通过docker hub下载镜像),这边讲的就是离线下载,即直接安装安装包。安装包可以通过官方地址:https://vmware.github.io/harbor/cn/ 去进行下载

2)准备一台虚拟机,其ip地址为192.168.53.10,将下载好的Harbor安装包拉入到虚拟机中。

3)安装docker:
创建docker专用下载通道:

yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

开启存储库
yum-config-manager --enable docker-ce-nightly
yum-config-manager --enable docker-ce-test

安装docker
yum install docker-ce docker-ce-cli containerd.io

安装完成后使用命令使docker永久开启
systemctl start docker
systemctl enable docker

4)安装compose(可以直接将编辑好的compose放置/usr/local/bin下,并且更改为可执行文件即可)

5)解压Harbor压缩包,并且将压缩包放置在/usr/local目录下:
tar -xf harbor-offline-installer-v1.9.1.tar

6)修改文件vi /etc/docker/daemon.json ,添加如下代码:

{"insecure-registries":[“192.168.9.10"]}			\\更改成自己Harbor的IP地址

systemctl restart docker		\\重启docker

7)进入解压好的harbor文件中,编写vim harbor.yml,将hostname改为自己的地址
在这里插入图片描述

8)./prepare
./install.sh
进行安装

8)当完成安装后,即可通过本机地址进行浏览器的访问,账户名为admin,密码默认为Harbor12345

9)当我们上传某个镜像的时候,即可通过tag改名(harbor的ip地址/存放的标签/文件名:标签)来进行改名,并且上传。
上传的话首先需要进行登录,登录的形式为docker login ip地址 -uadmin -pHarbor12345 的形式来登录,如果忽略了后面的一步,系统会默认登录到docker hub网页
在这里插入图片描述

在这里插入图片描述

10)创建存放镜像的项目页(也可以称之为目录)
在这里插入图片描述

11)上传镜像,第一步,登录:docker login 192.168.53.10 -uadmin -pHarbor12345
12)第二步,镜像改名: docker tag hello-world 192.168.53.10/xiaoyang/hello-world:v1
13)第三步,上传镜像:docker push 192.168.53.10/xiaoyang/hello-world:v1
14)第四步:验证,可以在xiaoyang的项目页中进行查看
15)为了完成DIDC的实验,需要提前将tomcat镜像放置在harbor的项目中
在这里插入图片描述

git 开发语言存放仓库

Harbor是用于镜像的存放的,而git则是用于开发语言的存放的,二者分工不同,但却是架构中的一员,现实中,最首先由开发工作人员上传代码和数据进入git,而后由运维从Jenkings来进行一键化的部署
需要新开一台服务器:192.168.53.20

安装

1)安装git首先需要拥有ssh软件,但是该程序linux是自带拥有的,所以可以直接进行下载,如果没有ssh,可以使用:yum install openssh.x86_64来进行下载
2)yum install -y git 下载git,也可以通过官网中下载安装包进行拉取
git官网:https://mirrors.edge.kernel.org/pub/software/scm/git/

3)使用git version命令可以查看git版本,同时也可以进行查看git是否进行安装
4)创建用户,用户名字随意,但是尽量还是使用和git相关的名字
useradd gitme
passwd 123
5)切换到gitme用户
6)

mkdir demo.git		#创建名为demo.git的用户
cd demo.git/	
git --bare init 		#在该目录下,初始化仓库

jenkings一键部署

jenkings是一款可以实现一键化部署的软件,以往,一个开发软件或者app的部署需要从测试到上线起码需要一天的时间,而jenkings通过与其他服务器的联动的,大大简化了到正式上线为止的繁琐步骤,所以,这也是jenkings被人选择的原因。
需要新开一台服务器:192.168.53.30

安装

1)准备材料:jenkings主机上需要安装docker、tomcat、java文件等,其中,docker是为了进行部署,tomcat、jdk则是为了进行java代码的编译(jenkings需要接触java)
2)yum -y install java 安装java模块
3)yum -y install maven
4)docker安装略,而后将tomcat的安装包拉进/usr/local的目录中,进入tomcat的bin目录下,输入./startup.sh启动tomcat
5)为了不影响使用,需要将tomcat的webapps里的目录删除,只留ROOT
6)将.war包放入到ROOT下
7)将.war包用unzip解压
上述为源代码安装,yum安装如下:

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key		#导入公钥
yum install jenkins

#通过java命令可以查看jenkins是否正常下载完成
java -jar /usr/lib/jenkins/jenkins.war --httpPort=端口号	#命令可以开启jenkins
#该端口号不可与别的端口号重复

开启过后可以直接使用端口ip地址:端口号 来进行浏览器访问
在这里插入图片描述

8)从镜像平台拉包,并且更改,此操作先不要开启tomcat或者jenkings

git clone https://github.com/407777853/java-demo
cd java-demo/
vi .git/config 
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = gitme@192.168.53.20:/home/gitme/demo.git			#修改这一步为自己的git服务器
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

8)cd java-demo

git add .		#添加该代码进入存储git库
git status		#查看git库
git commit -m "all"	
[root@localhost java-demo]# git push origin master
Everything up-to-date

9)免密登录

ssh-keygen 
ssh-copy-id gitme@192.168.53.20

10)根据内容提示cat /root/.jenkins/secrets/initialAdminPassword,来将密码复制粘贴并且放置在浏览器中。
11)根据推荐来安装相应的模块
12)可以进行注册登录
在这里插入图片描述

13)上传jenkings的私钥到网页上:cat /root/.ssh/id_rsa
14)添加凭据,将类型改为SSH Username with private key
在这里插入图片描述

15)而后在凭据中会生成该凭据id
在这里插入图片描述

16)新建item,选择流水线(已安装好的模块)
在这里插入图片描述
在这里插入图片描述

stage为任务项
这边要注意的是checkout这一列需要将对应的凭据ID更改,并且指向git服务器
其余的为镜像服务器,并且要确保路径和你的Harbor项目对应

17)执行Build now命令开始构建
18)而后便可以完成一键部署

备注

如果没构建成功,有以下可能:
1、所需要的模块因为网络等问题并没有下载成功
2、脚本配置文件中的IP地址和指向地点有没有写对的遗漏地点

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137966.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vim搜索及高亮取消

    vim搜索及高亮取消1.命令模式下,输入:/字符串比如搜索user,输入/user按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串2.查看下一个匹配,按下n(小写n)3.跳转到上一个匹配,按下N(shift+n)4.搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮?命令模式下,输入:nohlsearch也可以:setnohlsearch;当然,可以简写,noh或者setnoh。…

    2022年9月24日
    5
  • python中%d_python中%d是什么「建议收藏」

    python中%d表示格式化一个对象为十进制整数。使用后,在需要输出的长字符串中占位置。输出字符串时,可以依据变量的值,自动更新字符串的内容。使用示例:num=14#%d打印时结果是14print(“num=%d”%num)#output:num=14#%1d意思是打印结果为1位整数,当整数的位数超过1位时,按整数原值打印,所以%1d的打印结果还是14print(“nu…

    2022年4月10日
    2.1K
  • mac 亿图11 激活码-激活码分享

    (mac 亿图11 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月27日
    622
  • 关于离线缓存Application Cache /使用 manifest文件缓存

    ApplicationCache的配置文件首先需要在服务器上建立一个文件,里面的内容确定了哪些文件需要缓存,哪些文件不需要,如果资源无法访问会使用什么页面等这个文件一般为.appcache类型,称为缓存清单(cachemanifest)文件,一个完整的缓存清单文件如下:CACHEMANIFEST#versionxx.xx.xxCACHE:needBeCached.pn…

    2022年4月11日
    55
  • linux搭建邮件服务器配置_docker 邮件服务器

    linux搭建邮件服务器配置_docker 邮件服务器Postfix配置并设置账户认证(Postfix+Sasl)记录一下,比较简单的使用安装Postfix系统一般都自带了Postfix,如果不清楚可以使用下面的指令检查rpm-qa|greppostfix如果没用安装Postfix则使用以下指令安装yum-yinstallpostfix安装sasldb、saslauthd用来提供smtp的虚拟账户和密码服务sasldb2包含在saslauthd当中使用指令yum-yinstallcyrus-saslcy.

    2022年10月20日
    2
  • 在这个被欲望和利益所支配的世界里英文_每个人都想着自己的利益

    在这个被欲望和利益所支配的世界里英文_每个人都想着自己的利益剩下的那点酒精再次滑过嘴角,才感觉到一丝凉意。谁说酒精可以麻醉人的思维,可以暂时忘掉想忘的一切,骗人的,都是骗人的。我依然很清醒。 不可否认,这的确是一个被欲望和利益所支配的世界,无数人这样告诉我。现在终于看明白了。没有谁是能让我相信的了。人们的脑子里想的只有自己的欲望。无休止的欲望,肮脏的欲望。朋友一直告诉我,反反复复的告诉我,不要相信别人,至少不要这么轻易的相信一个人,没有人知道谁的好或者坏。

    2022年9月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号