阿里云安装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
-
下载:
-
解压
- 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
-
卸载老版本:
- yum remove docker
docker-common
docker-selinux
docker-engine
- yum remove docker
-
设置仓库:
- 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
- yum install -y yum-utils
-
安装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.yml 目录中:
-
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仓库文章:
- Jenkins集成docker文章
- CICD
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