云原生 | 环境配置大全解
啊我摔倒了..有没有人扶我起来学习....
👱个人主页: 交个朋友叭~
💒个人社区: 加入我们,一起高效学习,收割好Offer叭~
🌱刷题链接: 快速成长的渠道哦~
@TOC
前言
- 云原生是基于分布部署和统一运管的分布式云,以
容器
、微服务
、DevOps
等技术为基础建立的一套云技术产品体系 - 本文将详细讲解云原生全套配置过程
一、Code阶段工具
==在code
阶段,我们需要将不同版本的代码存储到一个仓库中,常见的版本控制工具就是SVN
或者Git
,这里我们采用Git
作为版本控制工具,GitLab
作为远程仓库==
1.1 Git安装
1.2 GitLab安装
单独准备服务器,采用Docker安装
-
查看
GitLab
镜像docker search gitlab
-
拉取
GitLab
镜像docker pull gitlab/gitlab-ce
-
准备
docker-compose.yml
文件version: '3.1' services: gitlab: image: 'gitlab/gitlab-ce:latest' container_name: gitlab restart: always environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.11.11:8929' gitlab_rails['gitlab_shell_ssh_port'] = 2224 ports: - '8929:8929' - '2224:2224' volumes: - './config:/etc/gitlab' - './logs:/var/log/gitlab' - './data:/var/opt/gitlab'
-
启动容器(需要稍等一小会……)
docker-compose up -d
-
访问
GitLab
首页首页 -
查看
root
用户初始密码docker exec -it gitlab cat /etc/gitlab/initial_root_password
初始密码 -
登录
root
用户登录成功后跳转页面 -
第一次登录后需要修改密码
修改密码
==搞定后,即可像Gitee
、GitHub
一样使用==
二、Build阶段工具
-
构建
Java
项目的工具一般有两种选择,一个是Maven
,一个是Gradle
-
这里我们选择
Maven
作为项目的编译工具 -
具体安装
Maven
流程不做阐述,但是需要确保配置好Maven
仓库私服以及JDK
编译版本
三、Operate阶段工具
部署过程,会采用Docker
进行部署,暂时只安装Docker
即可,后续还需安装Kubenetes
3.1 Docker安装
-
准备测试
环境&生产环境
-
下载
Docker
依赖组件yum -y install yum-utils device-mapper-persistent-data lvm2
-
设置下载
Docker
的镜像源为阿里云yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安装
Docker
服务yum -y install docker-ce
-
安装成功后,启动
Docker
并设置开机自启# 启动Docker服务 systemctl start docker # 设置开机自动启动 systemctl enable docker
-
测试安装成功
docker version
效果
3.2 Docker-Compose安装
-
下载
Docker/Compose
:https://github.com/docker/compose -
将下载好的
docker-compose-Linux-x86_64
文件移动到Linux
操作系统:…… -
设置
docker-compose-Linux-x86_64
文件权限,并移动到$PATH
目录中# 设置文件权限 chmod a+x docker-compose-Linux-x86_64 # 移动到/usr/bin目录下,并重命名为docker-compose mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
-
测试安装成功
docker-compose version
效果
四、Integrate工具
-
持续集成、持续部署的工具很多,其中
Jenkins
是一个开源的持续集成平台 -
Jenkins
涉及到将编写完毕的代码发布到测试环境和生产环境的任务,并且还涉及到了构建项目等任务 -
Jenkins
需要大量的插件保证工作,安装成本较高,下面会基于Docker
搭建Jenkins
4.1 Jenkins介绍
-
Jenkins
是一个开源软件项目,是基于Java
开发的一种持续集成工具 -
Jenkins
应用广泛,大多数互联网公司都采用Jenkins
配合GitLab
、Docker
、K8s
作为实现DevOps
的核心工具 -
Jenkins
最强大的就在于插件,Jenkins
官方提供了大量的插件库,来自动化CI/CD
过程中的各种琐碎功能
Jenkins
最主要的工作就是将GitLab
上可以构建的工程代码拉取并且进行构建,再根据流程可以选择发布到测试环境或是生产环境
一般是GitLab
上的代码经过大量的测试后,确定发行版本,再发布到生产环境
CI/CD
可以理解为:
CI
过程即是通过Jenkins
将代码拉取、构建、制作镜像交给测试人员测试- 持续集成:让软件代码可以持续的集成到主干上,并自动构建和测试
CD
过程即是通过Jenkins
将打好标签的发行版本代码拉取、构建、制作镜像交给运维人员部署- 持续交付:让经过持续集成的代码可以进行手动部署
- 持续部署:让可以持续交付的代码随时随地的自动化部署
CI、CD |
---|
4.2 Jenkins安装
-
拉取
Jenkins
镜像docker pull jenkins/jenkins
-
编写
docker-compose.yml
version: "3.1" services: jenkins: image: jenkins/jenkins container_name: jenkins ports: - 8080:8080 - 50000:50000 volumes: - ./data/:/var/jenkins_home/
-
首次启动会因为数据卷data目录没有权限导致启动失败,设置
data
目录写权限错误日志 chmod -R a+w data/
-
重新启动
Jenkins
容器后,由于Jenkins
需要下载大量内容,但是由于默认下载地址下载速度较慢,需要重新设置下载地址为国内镜像站# 修改数据卷中的hudson.model.UpdateCenter.xml文件 <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>https://updates.jenkins.io/update-center.json</url> </site> </sites> # 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url> </site> </sites> # 清华大学的插件源也可以https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
-
再次重启
Jenkins
容器,访问Jenkins
(需要稍微等会)Jenkins首页 -
查看密码登录
Jenkins
,并登录下载插件docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
登录并下载插件 -
选择需要安装的插件
选择需要安装的插件 -
下载完毕设置信息进入首页(可能会出现下载失败的插件)
4.3 Jenkins入门配置
由于Jenkins
需要从Git
拉取代码、需要本地构建、甚至需要直接发布自定义镜像到Docker
仓库,所以Jenkins
需要配置大量内容
4.3.1 构建任务
准备好GitLab
仓库中的项目,并且通过Jenkins
配置项目的实现当前项目的DevOps
基本流程
-
构建
Maven
工程发布到GitLab
(Gitee
、Github
均可)GitLab查看项目 -
Jenkins
点击左侧导航新建任务新建任务 -
选择自由风格构建任务
构建任务
4.3.2 配置源码拉取地址
Jenkins
需要将Git
上存放的源码存储到Jenkins
服务所在磁盘的本地
-
配置任务源码拉取的地址
源码管理 -
Jenkins
立即构建点击任务test中的立即构建 -
查看构建工程的日志,点击上述 的任务条即可
查看任务拉取Git源码日志 可以看到源码已经拉取带
Jenkins
本地,可以根据第三行日志信息,查看Jenkins
本地拉取到的源码 -
查看
Jenkins
容器中/var/jenkins_home/workspace/test
的源码源码存放位置
4.3.3 配置Maven构建代码
代码拉取到Jenkins
本地后,需要在Jenkins
中对代码进行构建,这里需要Maven
的环境,而Maven
需要Java
的环境,接下来需要在Jenkins
中安装JDK
和Maven
,并且配置到Jenkins
服务。
-
准备
JDK
、Maven
压缩包通过数据卷映射到Jenkins
容器内部数据卷存放位置 -
解压压缩包,并配置
Maven
的settings.xml
<!-- 阿里云镜像地址 --> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <!-- JDK1.8编译插件 --> <profile> <id>jdk-1.8</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>
-
Jenkins
配置JDK&Maven
并保存 -
配置
Jenkins
任务构建代码配置Maven构建代码 -
立即构建测试,查看
target
下的jar
包构建源码
4.3.4 配置Publish发布&远程操作
jar
包构建好之后,就可以根据情况发布到测试或生产环境,这里需要用到之前下载好的插件Publish Over SSH
-
配置
Publish Over SSH
连接测试、生产环境Publish Over SSH配置 -
配置任务的构建后操作,发布
jar
包到目标服务配置构建后操作 -
立即构建任务,并去目标服务查看
立即构建
好啦,以上就讲解完毕,收获多多哦~感谢坚持看下来的铁汁,只能这么说了,你必成大器!
- 点赞
- 收藏
- 关注作者
评论(0)