`

Devops之CICD基础环境安装配置

阅读更多
阿里云安装java8

安装JDK

yum list java*
yum install -y java-1.8.0-openjdk*
java -version
配置环境变量

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

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64 1:1.8.0.191.b12-0.el7_5
export PATH=$PATH:$JAVA_HOME/bin
修改完成之后,使其生效

source /etc/profile
安装GIT

yum install -y git
git --version
git config --global user.name "spancer"
git config --global user.email 343672271@qq.com
git config --list
生成并部署SSH key

如何生成ssh公钥

ssh-keygen -t rsa -C "373416233@qq.com"

三次回车即可生成 ssh key

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

cat ~/.ssh/id_rsa.pub
添加后,在终端(Terminal)中输入

ssh -T git@gitee.com

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

安装MAVEN

下载:

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

tar vxf apache-maven-3.5.4-bin.tar.gz
移动

mv apache-maven-3.5.4 /usr/local/maven3
修改环境变量, 在/etc/profile中添加以下几行

export MAVEN_HOME=/usr/local/maven3
export PATH=${PATH}:${MAVEN_HOME}/bin
执行 source/etc/profile 使环境变量生效。

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

<mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>
</mirror>


<pluginGroups>
  <pluginGroup>com.spotify</pluginGroup>
</pluginGroups>
参考:docker maven 配置:https://www.jianshu.com/p/c435ea4c0cc0

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

安装Jenkins

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

下载wget https://prodjenkinsreleases.blob.core.windows.net/redhat-stable/jenkins-2.138.3-1.1.noarch.rpm 169: admin/83d6bc0f7d974335b44bfd1a1c957d9f spancer/aaAA11@@33
安装插件: Git Parameter 、 Publish Over SSH 、SSH、Docker Compose Build Step、Extended Choice Parameter 、Pipeline Utility Steps、SSH Pipeline Steps 、docker-build-step

Jenkins配置:

系统管理-》全局安全配置
勾选Allow anonymous read access
取消防止跨站点请求伪造
Jenkins运行权限设置:

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

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

JENKINS_USER=root
  JENKINS_GROUP=root
重启Jenkins

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

配置pipeline项目

安装docker

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

卸载老版本:

yum remove docker
docker-common
docker-selinux
docker-engine
设置仓库:

yum install -y yum-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

yum install docker-ce
或直接安装非CE版:

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

service docker start 或 systemctl start docker.service

chkconfig docker on 或 systemctl enable docker.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安装完成

输入docker version 返回版本信息,则安装成功。
Docker 使用

停止所有容器:
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
删除所有镜像:
docker rmi $(docker images -q)
docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') //停止容器
docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }') //删除容器
docker rmi $(docker images | grep "none" | awk '{print $3}') //删除镜像
Docker容器内操作:
docker exec -it 容器名 /bin/bash
Docker容器内编辑,如果命令无效,需安装:
apt-get update
apt-get install vim
Docker sock问题:

编辑 vim /lib/systemd/system/docker.service
修改:
ExecStart=/usr/bin/dockerd fd:// with ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock \
或: chmod 777 /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管理界面:
docker search portainer
docker pull docker.io/portainer/portainer
docker run -d -p 9000:9000
--restart=always
-v /var/run/docker.sock:/var/run/docker.sock
--name coomia-portainer
docker.io/portainer/portainer
访问: http://IP:9000
安装部署私有镜像仓库
Docker Hub作为Docker默认官方公共镜像;如果想自己搭建私有镜像仓库,官方也提供registry镜像,使得搭建私有仓库非常简单。

安装私服:

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry
测试registry可用性。

由于Docker CLI默认以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:
service docker restart
安装docker-compose

pip安装:

pip install docker-compose
docker-compose用法:

启动,关闭,和删除容器(组),需要在包含在docker-compose.yml 目录中:
docker-compose up -d # 构建并启动
docker-compose stop # 停止(不删除容器)
docker-compose rm # 删除容器
docker-compose-ui安装:

docker run \
  --name docker-compose-ui \
  -p 5000: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 
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'
重启docker服务

systemctl restart docker
使用docker-proxy代理服务

拉取镜像: docker pull docker.io/shipyard/docker-proxy
启动: docker run -ti -d -p 2375:2375 \ --restart=always \ --hostname=$HOSTNAME \ --name shipyard-proxy \ -v /var/run/docker.sock:/var/run/docker.sock \ -e PORT=2375 \ docker.io/shipyard/docker-proxy:latest
集成jenkins docker 参考文章:

私有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
docker ES head插件安装

安装插件:

docker run -p 9100:9100 -d --name es-head mobz/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 #Lock the memory on startup
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
分享到:
评论

相关推荐

    devops-cicd:CICD教程

    Devops CICD研讨会 该代码仓库由devop研讨会组成,尤其是与CI / CD相关的实践代码和指南文档。 如果您需要更详细的研讨会信息或动手指导请通过与我们联系。 博客: : 播客: : 不和谐: : 会所:@kcch 入门 ...

    azure-devops-cicd-project

    Azure DevOps CICD项目 目标 该项目的目的是创建一个可扩展且强大的Web应用程序,以及用于该应用程序的稳定部署管道。 通过使用Azure DevOps管道,ARM模板,应用程序服务,前门,Blob存储,Cosmos DB和来自Azure的...

    aws-devops-cicd-jenkins

    【AWS DevOps与CICD】 在现代软件开发中,持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)已经成为提高效率、质量和速度的关键实践。AWS DevOps提供了一系列工具,如Jenkins、Code...

    DevOps_CICD_Project

    【DevOps_CICD_Project】是一个综合性的项目,旨在演示和实践DevOps(开发运维)理念中的持续集成(Continuous Integration, CI)与持续部署(Continuous Deployment, CD)流程。在这个项目中,我们将深入理解如何...

    作业1:SC313004软件工程-DevOps和CICD

    【标题】SC313004软件工程-DevOps与CICD 【描述】在软件工程领域,DevOps和持续集成/持续部署(Continuous Integration/Continuous Deployment, CI/CD)是现代开发流程中的核心概念。它们旨在提高软件开发效率、...

    nvwa-io:Nvwa-io是一个开源的DevOps CICD自动构建和自动部署系统(女娲-开源DevOps CICD自动构建和自动部署系统)。 http

    女娲-开源DevOps CI / CD自动构建和自动部署系统 备注:当前版本功能尚未完全开发完,可以先不用测试。 女娲架构抽象 女娲特性 女娲首页 应用部署配置 ...基础环境 初始化:/ data / nvwa依赖软件:ansible

    AzureDevOps-CICD-Hands-on-lab:在Windows 10 体验Azure DevOps 持续整合持续部署功能

    Azure DevOps 持续整合/持续交付(CI/CD,Continuous Integration ...请注意此系列操作练习目的在于体验CI/CD 概念,相关组态配置并非考量真实营运环境的最佳架构。 在练习过程中使用Azure App Service Web App for

    devops:基于saltstack的自动化运维平台:CMDB、CICD、DevOps、资产管理、系统监控、运维管理、配置管理(持续更新中)

    √开放REST API工具依赖Django2Python3安装部署(未完待续,不要上生产)搭建salt-api,jenkins,git环境搭建redis,mysql环境修改配置文件(devops/settings.py && conf/example)启动django项目启动web ssh参与...

    运维-建设CICD助推DevOps-刘斌-易宝支付-下载版.pdf

    【运维-建设CICD助推DevOps-刘斌-易宝支付-下载版.pdf】这份文档主要探讨了如何通过建设持续集成(CI)和持续交付(CD)来推动DevOps实践,作者是刘斌,来自易宝支付。文档中提到了DevOps的核心理念和关键实践,包括...

    springboot多环境(dev、test、prod)配置详解

    Spring Boot 多环境配置详解 Spring Boot 框架提供了多环境配置的机制,允许开发者根据不同的环境(如开发、测试、生产等)来配置不同的参数和配置文件。这种机制可以让开发者轻松地在不同的环境中部署和运行应用...

    gitlab-cicd(devops)搭建测试案例.docx

    - JDK 安装:将预装的JDK从10.10.10.130复制到K8s-Master,并配置环境变量。 - Maven 安装:将Apache Maven从K8s-node-1拷贝至K8s-Master,配置环境变量和`settings.xml`文件以指定本地依赖存储路径。 3. **安装...

    cicd常用框架和组件

    在CICD中,它可以简化服务器的设置和应用的部署,确保基础设施的一致性。 8. **Junit / TestNG**:单元测试是CICD流程的关键部分,Junit(Java)和TestNG(同样支持Java和其他语言)是流行的测试框架,可以确保代码...

    token cicd 自动化实例 yaml

    **YAML在CICD配置中的角色** YAML(YAML Ain't Markup Language)是一种人类可读的数据序列化语言,常用于配置文件。在CICD场景下,YAML被用来定义自动化流程,如Jenkins、GitLab CI/CD、Azure DevOps等工具的配置...

    基于kubernetes+docker+jenkins的DevOps实践

    之前自己的项目开发就搭了个cicd的环境,那时候是在本就小的可怜的服务器上搭了一套 jenkins+dockerregistry+docker 见之前的笔记 总的差不多这样:之后对kubernetes的接触后,就在之前的基础上加入kubernetes,其实...

    CICD精品PPT

    企业正通过持续集成和持续交付(CI/CD)实现快速、可靠和自动化地将代码变更应用到生产环境。本篇内容将详细介绍基于Jenkins整合Kubernetes实现动态slave的实战应用,以及企业级CICD构建的各方面知识。 **持续集成...

    dotnetcore-cicd-samples:使用 Azure DevOps 的各种 .NET Core CICD 示例

    标题 "dotnetcore-cicd-samples" 指向的是一个关于使用 Azure DevOps 进行 .NET Core 持续集成与持续部署(CI/CD)的示例项目。这个项目旨在帮助开发者理解如何在实践中应用 Azure DevOps 服务来自动化 .NET Core ...

    Whitepaper_AWS DevOps

    1. 基础设施即代码(Infrastructure as Code):这是指使用代码来配置和部署基础设施,从而实现快速、可重复和可靠的环境设置。AWS CloudFormation是实现这一实践的工具之一。 2. AWS AMI(Amazon Machine Images)...

    混合云下的DevOps的实践方案.pptx

    服务树模型横向串联各个平台,如监控、CICD、配置中心和日志中心,纵向则通过树形结构高效组织各种策略和配置。 总的来说,vivo的混合云下DevOps实践方案是一个逐步演进的过程,涉及了基础设施抽象、自动化流水线...

    PyPI 官网下载 | cdk_databrew_cicd-0.1.8.tar.gz

    在实际应用中,"cdk_databrew_cicd"库可以帮助数据工程师和DevOps团队在AWS环境中实现数据管道的自动化构建,提高数据处理的效率和质量。通过这个库,开发者可以轻松地将DataBrew的任务集成到他们的CDK应用程序中,...

    PyPI 官网下载 | cdk_databrew_cicd-0.1.36.tar.gz

    通常,Python库的安装过程包括使用pip(Python的包管理器)进行安装,命令可能类似于`pip install cdk_databrew_cicd-0.1.36.tar.gz`。 为了充分利用"cdk_databrew_cicd",开发者需要具备Python编程基础,对AWS CDK...

Global site tag (gtag.js) - Google Analytics