Devops之CICD基础环境安装配置

阿里云安装java8

安装JDK

yumlistjava*

yuminstall-yjava-1.8.0-openjdk*

java-version

配置环境变量

打开vim/etc/profile添加一下内容

exportJAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_641:1.8.0.191.b12-0.el7_5

exportPATH=$PATH:$JAVA_HOME/bin

修改完成之后,使其生效

source/etc/profile

安装GIT

yuminstall-ygit

git--version

gitconfig--globaluser.name"spancer"

[email protected]

gitconfig--list

生成并部署SSHkey

如何生成ssh公钥

ssh-keygen-trsa-C"[email protected]"

三次回车即可生成sshkey

查看你的publickey,并把他添加到码云(Gitee.com)SSHkey添加地址:https://gitee.com/profile/sshkeys)

cat~/.ssh/id_rsa.pub

添加后,在终端(Terminal)中输入

[email protected]

若返回WelcometoGitee.com,yourname!则证明添加成功。

安装MAVEN

下载:

http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

解压

tarvxfapache-maven-3.5.4-bin.tar.gz

移动

mvapache-maven-3.5.4/usr/local/maven3

修改环境变量,在/etc/profile中添加以下几行

exportMAVEN_HOME=/usr/local/maven3

exportPATH=${PATH}:${MAVEN_HOME}/bin

执行source/etc/profile使环境变量生效。

设置阿里云的repo:在$MAVEN_HOME的conf文件夹的setting.xml的标签里加入

<mirror>

<id>alimaven</id>

<name>aliyunmaven</name>

<url>http://maven.aliyun.com/nexus/content/groups/public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

<pluginGroups>

<pluginGroup>com.spotify</pluginGroup>

</pluginGroups>

参考:dockermaven配置:https://www.jianshu.com/p/c435ea4c0cc0

输入mvn-version返回版本信息则安装正常。

安装Jenkins

从https://jenkins.io/download/下载对应的jenkins

下载wgethttps://prodjenkinsreleases.blob.core.windows.net/redhat-stable/jenkins-2.138.3-1.1.noarch.rpm169:admin/83d6bc0f7d974335b44bfd1a1c957d9fspancer/aaAA11@@33

安装插件:GitParameter、PublishOverSSH、SSH、DockerComposeBuildStep、ExtendedChoiceParameter、PipelineUtilitySteps、SSHPipelineSteps、docker-build-step

Jenkins配置:

系统管理-》全局安全配置

勾选Allowanonymousreadaccess

取消防止跨站点请求伪造

Jenkins运行权限设置:

将jenkins账号分别加入到root组中

gpasswd-arootjenkins

修改/etc/sysconfig/jenkins文件中,可以修改为root权限运行

JENKINS_USER=root

JENKINS_GROUP=root

重启Jenkins

serviceJenkinsrestart

4.验证在Jenkins中的shell脚本中执行命令whoami

配置pipeline项目

安装docker

最好参考:http://blog.51cto.com/7603402/2171815

卸载老版本:

yumremovedocker

docker-common

docker-selinux

docker-engine

设置仓库:

yuminstall-yyum-utils

device-mapper-persistent-data

lvm2

yum-config-manager

--add-repo

https://download.docker.com/linux/centos/docker-ce.repo

yum-config-manager

--add-repo

https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker

yuminstalldocker-ce

或直接安装非CE版:

yuminstalldocker

安装完成后,使用下面的命令来启动docker服务,并将其设置为开机启动:

servicedockerstart或systemctlstartdocker.service

chkconfigdockeron或systemctlenabledocker.service

配置Docker中国加速器'vi/etc/docker/daemon.json

#添加如下内容:

{

"registry-mirrors":["https://registry.docker-cn.com"],

"live-restore":true,

"insecure-registries":["111.230.139.135"],

"hosts":["tcp://127.0.0.1:2375","unix:///var/run/docker.sock"],

"log-driver":"json-file",

"log-opt":{

"max-size":"10m",

"max-file":"10"

}

验证docker安装完成

输入dockerversion返回版本信息,则安装成功。

Docker使用

停止所有容器:

dockerstop$(dockerps-aq)

dockerrm$(dockerps-aq)

删除所有镜像:

dockerrmi$(dockerimages-q)

dockerstop$(dockerps-a|grep"Exited"|awk'{print$1}')//停止容器

dockerrm$(dockerps-a|grep"Exited"|awk'{print$1}')//删除容器

dockerrmi$(dockerimages|grep"none"|awk'{print$3}')//删除镜像

Docker容器内操作:

dockerexec-it容器名/bin/bash

Docker容器内编辑,如果命令无效,需安装:

apt-getupdate

apt-getinstallvim

Dockersock问题:

编辑vim/lib/systemd/system/docker.service

修改:

ExecStart=/usr/bin/dockerdfd://withExecStart=/usr/bin/dockerd-Htcp://127.0.0.1:2375-Hunix:///var/run/docker.sock\

或:chmod777/var/run/docker.sock

安装harbor:

下载:harbor-offline-installer-v1.6.2.tgz

配置:harbor,并安装。

安装向导:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

安装Portainer服务,docker的WEB管理界面:

dockersearchportainer

dockerpulldocker.io/portainer/portainer

dockerrun-d-p9000:9000

--restart=always

-v/var/run/docker.sock:/var/run/docker.sock

--namecoomia-portainer

docker.io/portainer/portainer

访问:http://IP:9000

安装部署私有镜像仓库

DockerHub作为Docker默认官方公共镜像;如果想自己搭建私有镜像仓库,官方也提供registry镜像,使得搭建私有仓库非常简单。

安装私服:

dockerrun-d-v/opt/registry:/var/lib/registry-p5000:5000--restart=always--nameregistryregistry

测试registry可用性。

由于DockerCLI默认以HTTPS访问,而部署的registry并未提供HTTPS,因此,需要在pull镜像的Docker主机(192.168.0.217,192.168.0.218)添加HTTP可信任:

添加信息:

vi/etc/docker/daemon.json{"insecure-registries":["192.168.0.219:5000"]}

重启docker:

servicedockerrestart

安装docker-compose

pip安装:

pipinstalldocker-compose

docker-compose用法:

启动,关闭,和删除容器(组),需要在包含在docker-compose.yml目录中:

docker-composeup-d#构建并启动

docker-composestop#停止(不删除容器)

docker-composerm#删除容器

docker-compose-ui安装:

dockerrun\

--namedocker-compose-ui\

-p5000:5000\

-w/opt/docker-compose-projects/\

-v/var/run/docker.sock:/var/run/docker.sock\

francescou/docker-compose-ui:1.13.0

安装docker集群(用Swarm&Portainer管理集群)

安装swarm前的配置

修改配置文件修改监听端口,修改options的端口监听。vim/etc/sysconfig/docker将options内容修改为以下:

OPTIONS='--selinux-enabled--log-driver=journald

--signature-verification=false

-Htcp://0.0.0.0:2375-Hunix:///var/run/docker.sock'

重启docker服务

systemctlrestartdocker

使用docker-proxy代理服务

拉取镜像:dockerpulldocker.io/shipyard/docker-proxy

启动:dockerrun-ti-d-p2375:2375\--restart=always\--hostname=$HOSTNAME\--nameshipyard-proxy\-v/var/run/docker.sock:/var/run/docker.sock\-ePORT=2375\docker.io/shipyard/docker-proxy:latest

集成jenkinsdocker参考文章:

私有docker仓库文章:

http://blog.51cto.com/ganbing/2080140

Jenkins集成docker文章

http://blog.51cto.com/ganbing/2085769

http://todorex.com/2018/07/18/运维/SpringBoot-Git-Jenkins-Docker实现CI-CD/

http://blog.51cto.com/ganbing/2085769

CICD

https://github.com/lizibin/docker-jenkins-sonarqube

dockerEShead插件安装

安装插件:

dockerrun-p9100:9100-d--namees-headmobz/elasticsearch-head:5-alpine

配置跨域访问:编辑elasticsearch.yml

http.cors.enabled:true

http.cors.allow-origin:"*"

ES参考配置

cluster.name:my-application#集群名称

node.name:node-1#节点名称

path.data:/home/elasticsearch/data#索引存储位置

path.logs:/home/elasticsearch/logs#日志存储位置

bootstrap.memory_lock:true#Lockthememoryonstartup

network.host:192.168.61.100

http.port:9200

discovery.zen.ping.unicast.hosts:["host1","host2"]

discovery.zen.minimum_master_nodes:3

gateway.recover_after_nodes:3

相关推荐