Jenkins实战练习


一、安装Docker

安装所需的软件包。yum- utils提供了yum- config- manager,并且 device mapper存储驱动程序需要 evice- mapper- persistent-data和lm2。 Device mapper(内核中支持逻辑卷管理的通用设备映射机制 它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构)存储驱动需要 device- mapper-persistent-data和lm2( Logical Volume Manager)逻辑卷管理,它是对此盘分区进行 管理的一种机制,建立在硬盘和分区之上的一个逻辑层,用来提高磁盘管理的灵活性
  1. 安装依赖包
    # yum install -y yum-utils device-mapper-persistent-data lvm2
  2. 添加Docker软件包源,设置阿里镜像仓库,提高下载速度:
    # yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. 安装Docker CE
    # yum install docker-ce -y
  4. 配置阿里云镜像仓库加速器(可略)
    # curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://bc437cce.m.daocloud.io
    
    针对Docker客户端版本大于 1.10.0 的用户 您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://w1cnccbw.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
  5. 启动并开机启动
    # systemctl start docker
    # systemctl status docker (查看状态)
    # systemctl enable docker
  6. docker常用命令
    查看帮助: docker --help
    查看 docker版本: docker version
    查看 docker信息: docker info

    查看 docker镜像: docker images 查询镜像: docker search nginx

    拉取镜像: docker pull tomcat:8.0 --冒号前面是镜像名字,后面是版本号 运行容器: docker run --name (任意名称,自己任意取的显示名称) -d (镜像名称:版本) 例:docker run --name tomcat8.0 -d -p 8083:8080 tomcat:8.0 -d 守护进程 -p 外部访问端口映射(提供给外部的一个端口)

    査看容器运行情况: docker ps 查看日志: docker logs tomcat8.0 停止容器: docker stop 名字/版本 再次启动: docker start 名字/版本 删除容器: docker rm 名字/版本 删除镜像: docker rmi -f tomcat:8.0
  7. 自定义镜像(手动打包镜像和容器运行,后面改成自动)
    创建一个镜像文件夹: mkdir Myimage
    将项目通过 xftp 上传到文件夹中
    创建一个 dockfile 文件编辑镜像信息: vim dockerfile

    FRON java:8 #jdk8版本的一个镜像 VOLUME /tmp #注:(固定格式) ADD xxxx.jar web.jar #第一个是自身jar包的名字,第二个是别名 RUN sh -c 'touch /web.jar' ENV JAVA OPTS="" #要跑的环境(固定格式) ENTRYPOINT ["sh","-C", "java $JAVA_OPTS -jar /web jar"]

构建镜像: docker build -t xxx  . #镜像叫什么名字
查看镜像: docker images
运行镜像: docker run --name mvc -d -p 8872:888  xxx:latest

二、gitlab搭建(代码私服)

GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。 功能:Gitlab 是一个提供代码托管、提交审核和问题跟踪的代码管理平台。对于软件工程质量管理非常重要。 版本:GitLab 分为社区版(CE) 和企业版(EE)。 配置:建议CPU2核,内存2G以上。

  1. gitlab的搭建
    通过docker下载gitlab镜像:docker pull gitlab/gitlab-ce
    创建本地文件夹存放配置信息: 
    mkdir  -p   /usr/local/gitlab/etc
    mkdir  -p   /usr/local/gitlab/data
    mkdir  -p   /usr/local/gitlab/logs
    启动docker: docker  run  --name gitlab   -v  /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab -v  /usr/local/gitlab/logs:/var/logs/gitlab   -d  -p 9999:80 gitlab/gitlab-ce
    配置访问路径: vim  /usr/local/gitlab/etc/gitlab.rb
    :32 external_url 'http:192.168.44.201'
    配置访问路径:vim /usr/local/gitlab/data/gitlab-rails/etc/gitlab.yml
    :13 host:192.168.44.201
    重启gitlab: docker  restart gitlab
    注:页面有可能502,可以查看实时日志 docker logs -f gitlab 看没有安装完毕
  2. 在pom.xml文件中加入打包镜像的配置文件(maven构建镜像配置)
    
    
        com.spotify
        docker-maven-plugin
        
        0.4.12
        
        
            
            ${project.artifactId}
            
            ${project.basedir}/src/main/resources
            
            
                ${project.version}
            
            
            java:8
            
            ["java", "-jar", "/${project.build.finalName}.jar"]
            
            
                
                    /
                    ${project.build.directory}
                    ${project.build.finalName}.jar
                
            
        
    
    在resources中创建dockerfile文件
    FROM       java:8
    VOLUME     /tmp
    ADD         jenkinsdemo-1.0-SNAPSHOT.jar   web.jar
    RUN         sh   -c  'touch   /web.jar'
    ENV         JAVA_OPTS=""
    ENTRYPOINT  [ "sh" ,  "-c"  , "java  $JAVA_OPTS  -jar  /web.jar" ]

三、在服务器中安装git 和maven

yum -y install git
创建mkdir maven 文件夹 执行命令   注:还要配置maven的仓库路径和加速阿里云的加速路径
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
配置环境变量  vim  /etc/profile   例:1、MAVEN_HOME=安装路径  2、PATH=$MAVEN_HOM/bin 3、export MAVEN_HOM
刷新环境变量 : source /etc/profile
下载项目 并生成docker镜像
克隆仓库: git  clone http://192.168.44.201:9999/root/jenkinsdemo.git
进入项目构建镜像:mvn -f pom.xml clean package -DskipTests docker:build  注:还处在手动构建镜像的范畴中

四、配置Jenkins

  1. 安装Jenkins
    这里推荐使用yum方式安装Jenkins,最简单方便。
    yum的repos中默认是没有Jenkins的,需要先将Jenkins存储库添加到yum repos。
    下载相关依赖:sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    2、导入秘钥:sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    3、执行安装命令:yum -y  install jenkins
    3、安装完成后,记住以下几个常用的目录                   /usr/lib/jenkins/jenkins.war    WAR包                    /etc/sysconfig/jenkins       配置文件                   /var/lib/jenkins/        默认的JENKINS_HOME目录                   /var/log/jenkins/jenkins.log    Jenkins日志文件
    4、修改配置文件,指定JDK路径 主要修改JDK路径和端口,jdk的路径必须到bin下的java命令,端口的话自己确定。也可以修改默认登陆用户,                  JDK:JENKINS_JAVA_CMD="/opt/software/jdk1.8.0_171/bin/java" (注:jdk的安装目录,记得后面要加上/bin/java)                  端口:JENKINS_PORT="8080" (注:默认8080,不用去更改)                  用户:JENKINS_USER="root" (注:改成超级用户 ,方便后面的配置)
  2. 使用Tomcat安装可以访问http://mirrors.jenkins.io/war-stable/获取到相关版本的war包。     这个就比较简单,将war包复制到webapp目录下,启动tomcat。
  3. 启动Jenkins,做基础配置
    启动Jenkins,命令:service jenkins start
    第一次访问会让你输入管理员密码,密码路径告诉你在服务器的/var/lib/jenkins/secrets/initialAdminPassword目录下,cat该文件。
    使用命令:cat /var/lib/jenkins/secrets/initialAdminPassword,会出现一串字符输入即可。
    安装推荐插件就可以,后续可以添加其他插件,或者直接可以跳过。
    安装完毕,可能不同的版本后期配置不一样。
  4. 修改配置 添加git插件(修改加速镜像)
    vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
    将https 改成http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json(注:这改完可能无用的,要改下面三条)
    cd /var/lib/jenkins/updates/default.json (注:如果没有文件,那可能是jar什么的在安装的时候没下全,需要重新启动或者重新安装加载(也可以把猫的jenkins删掉重新打包)。。。。。踩坑实操) sed -i 's#www.google.com#www.baidu.com#g' default.json sed -i 's#updates.jenkins.io/download/plugins#mirrors.tuna.tsinghua.edu.cn/jenkins/plugins#g' default.json (注:改完配置重启一波)
  5. 全局配置
  6. 注:构建项目时,需行安装maven,如果安装完成后构建项目时提示找不到mvn命令,可以采用软连接的方式

    点击软连接方式

  7. 构建jenkins


    • 凭据:就是gitlab 上自己的帐号
    • 生成密钥:需要在jenkins上生成一个公钥,填充到帐号上,jenkins才能连接成功
      生成公钥传送门



    手动构建

  8. 自动构建






posted @ 2020-12-08 02:50  白描先生  阅读(183)  评论(0编辑  收藏  举报
}); });