Docker+Jenkins搭建Android持续集成环境(一)

    技术2022-07-11  71

    前言

    为什么用docker?因为镜像已经基本配置好环境了,只要下载就可以复用了,同时方便管理,通过docker命令就可以简单地管理各个镜像。当然,也有坏处,就是镜像内可能缺乏一些软件需要自己下载。

    1、安装Docker

    操作系统:CentOS 8.0 64位

    1.1 安装依赖

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    1.2 安装 Docker CE

    使用国内下载源:

    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    2、安装

    sudo yum install docker-ce

    错误解决:

    描述:

    Error: Problem: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

    解决:安装新版的containerd.io软件包

    1、下载软件包

    wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

    2、安装

    yum -y install containerd.io-1.2.6-3.3.el7.x86_64.rpm

    1.3 启动Docker

    1.3.1 启动服务

    sudo systemctl enable docker

    sudo systemctl start docker

    执行:docker run hello-world 判断服务是否启动成功

    1.3.1 配置镜像加速器

    在 /etc/docker/daemon.json 中配置镜像源,如(由于镜像服务可能出现宕机,建议同时配置多个镜像。各个镜像站测试结果请到 docker-practice/docker-registry-cn-mirror-test 查看。)

    { "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }

    重启docker

    sudo systemctl daemon-reload

    sudo systemctl restart docker

    2、安装Jenkins

    2.1、下载Jenkins镜像

    基本命令

    1、下载

    docker pull jenkins/jenkins:lts

    2、查看已安装的镜像

    docker images ls

    3、删除镜像

    docker images <镜像ID>

    查看镜像

    2.2、启动Jenkins镜像

    1、启动镜像

    docker run -d --name jenkins -p 8081:8080 -v /home/jenkins:/home/jenkins jenkins/jenkins:lts

    --name:镜像实例名

    -p:端口映射。宿主端口:镜像端口,如8081:8080镜像内的8080端口映射到宿主的8081端口,访问时以8081端口访问但镜像内配置依然是8080端口,起到镜像之间配置隔离的作用。

    -v:文件夹映射。宿主文件夹:镜像文件夹,可以把宿主的文件夹映射到镜像中,实现文件共享。

    2、查看镜像日志

    docker logs jenkins

    3、查看镜像配置信息

    docker inspect [image name/id]

    Jenkins有个默认的工作文件夹 /var/jenkins_home,如果启动时没有做该文件夹映射,那么默认会在宿主中生成一个文件夹 /var/lib/docker/volumes/VOLUME ID/_data,VOLUME ID是随机的,如

    测试发现:

    如果把该文件夹映射到宿主的空文件夹,那么Jenkins将无法启动

    如果映射到一个已有的Jenkins工作文件夹,那么新的Jenkins镜像将复用这些旧的数据,如:

    在docker中,volume可以用作镜像实例数据的备份。

    启动后可以通过查看日志查看登录密码

    登录地址为:http://ip:8081/login

    对于阿里云服务器的用户,需要把ip改为公网ip,还需要配置安全组,把指定的端口放开,如这里是8081

    登录并下载完推荐插件后进到首页

    下一篇 Docker+Jenkins搭建Android持续集成环境(二)

    参考:

    Docker–从入门到实践

    https://www.linuxidc.com/Linux/2019-10/160948.htm

    Processed: 0.014, SQL: 9