先来安装必要软件
1.Docker
--------------------yum 安装 docker-----------------------------------
1、通过 uname -r 命令查看你当前的内核版本 高于3.1版本
uname -r
2、 使用 root 权限登录 Centos。确保 yum 包更新到最新。
yum -y update
3、 卸载旧版本(如果安装过旧版本的话)
yum remove docker docker-common docker-selinux docker-engine
4、 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
5、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
7、 安装docker
sudo yum install -y docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.03.1
8、 启动并加入开机启动
systemctl start docker
systemctl enable docker
9、 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
2.Jenkins(会有坑 推荐用yum方式安装)
1.Docker方式安装
1.docker pull jenkins
2.mkdir /home/jenkins 创建文件夹
3.ls -nd jenkins/ 查看文件权限
4.chown -R 1000:1000 jenkins/ 给uid为1000的权限 (好像不设置权限启动不了报错:dockerjenkins Exited (1) 4 minutes ago mystifying_ritchie)
5.docker run -itd -p 8888:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jenkins:/var/jenkins_home jenkins:latest
访问 ip:9090 进入欢迎页
使用docker安装jenkins可能会导致无法安装插件
使用tomcat运行jenkins可能会出现一堆问题,如,密码不生成,报一些奇葩异常,建议使用yum方式
1.roblem accessing /jenkins/. Reason: HTTP ERROR 404
在浏览器中手工输入:http://<ip>:<port>
。不要访问"/jenkins"这个路径。
你可能会遇到这个问题 jenkins离线
打开
http://ip:port/pluginManager/advanced
选择高级最下面把连接换成这个
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
2.war/jar 包方式安装
这种直接用tomcat运行或者java -jar 运行,包去官网下载
我用war碰到了一个问题就是
密码不生成,找不到密码,也就进不去jenkins
3.安装Gitlab
1、配置yum
vim /etc/yum.repos.d/gitlab-ce.repo
复制以下内容:
2、更新本地yum缓存
sudo yum makecache
3、安装GitLab社区版
sudo yum install gitlab-ce
GitLab常用命令
sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;
1、修改/mnt/gitlab/etc/gitlab.rb
把external_url改成部署机器的域名或者IP地址
# external_url 'GENERATED_EXTERNAL_URL'
vim /mnt/gitlab/etc/gitlab.rb
2、修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
找到关键字 * ## Web server settings *
将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
必要环境 jdk maven -git
这些自行百度安装
开始构建
1.创建Springboot项目;这个就不说了
2.创建Dockerfile,我的位置如下
# 基于java:8镜像进行扩展
FROM java:8
# 定义数据卷位置---存放容器共享文件的位置
VOLUME /tmp
# 将maven打成的jar包复制到镜像目录中(相对路径---默认"."就是Dockerfile所在目录)
ADD pojectName.jar pojectName.jar
# 指定容器启动时,需要执行的命令(运行该jar程序)
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/pojectName.jar"]
3.建个sh脚本
位置:
appName="项目名称" word="1" echo "$word" word=`docker ps -a -q --no-trunc --filter name=^/"$appName"$` echo "$word" if [ -z "$word" ]; then echo "当前不存在该容器,直接进行启动该操作-------------------------------------" elif [ -n "$word" ]; then echo "当前已存在容器,停止并移除该容器-------------------------------------" /usr/bin/docker stop "$word" /usr/bin/docker rm "$word" elif [ "$word" == "1" ]; then echo "查询的信息有误,执行默认操作-------------------------------------" /usr/bin/docker stop "$word" /usr/bin/docker rm "$word" fi #貌似这样才可以删除容器 cid=$(docker ps -a| grep "$CONTAINER_NAME" | awk '{print $1}') if [ "$cid" != "" ]; then echo "--------删除容器-------$cid------------------------------" docker rm -f $cid fi # 删除没有版本号的镜像(看需求,可删可不删) docker images|grep "$appName"|awk '{print $3}'|xargs docker rmi #删除镜像 echo "--------删除镜像-------------------------------------" docker images | grep "$appName" | grep 'latest' | awk '{print $3}' | xargs docker rmi #运行 /usr/bin/docker run -p 8888:8080 -d "$appName" echo "--------构建成功-------------------------------------"
4.打开jenkins进行配置
系统配置-全局工具配置
配置jdk
配置git
配置maven
都是配置命令位置或者环境变量,如图
5.新建一个任务
配置代码源头(也就是你的git的地址),配置git密码
配置意思 使用maven进行打包,最后执行命令。
6.保存,立即构建
等待构建完成。