美文网首页android-build
Ubuntu下搭建jenkins与docker持续集成

Ubuntu下搭建jenkins与docker持续集成

作者: 97690CE50CC872D | 来源:发表于2017-09-26 18:00 被阅读143次

Ubuntu下搭建jenkins与docker持续集成

  • 安装 Docker

  • 安装 JDK 环境

  • 安装 Android SDK

  • 安装 Android NDK

  • 安装 Gradle

  • 安装 git

本文中操作环境已经是Ubuntu16.04,所以就跳过1、2步骤。而安装Docker可以到
Ubuntu16.04安装Docker查看。

1.使用 Dockerfile 制做Ubuntu16.04镜像

FROM scratch
ADD ubuntu-xenial-core-cloudimg-amd64-root.tar.gz /

# a few minor docker-specific tweaks
# see https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap
RUN set -xe \
    \
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L40-L48
    && echo '#!/bin/sh' > /usr/sbin/policy-rc.d \
    && echo 'exit 101' >> /usr/sbin/policy-rc.d \
    && chmod +x /usr/sbin/policy-rc.d \
    \
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L54-L56
    && dpkg-divert --local --rename --add /sbin/initctl \
    && cp -a /usr/sbin/policy-rc.d /sbin/initctl \
    && sed -i 's/^exit.*/exit 0/' /sbin/initctl \
    \
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L71-L78
    && echo 'force-unsafe-io' > /etc/dpkg/dpkg.cfg.d/docker-apt-speedup \
    \
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L85-L105
    && echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' > /etc/apt/apt.conf.d/docker-clean \
    && echo 'APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' >> /etc/apt/apt.conf.d/docker-clean \
    && echo 'Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";' >> /etc/apt/apt.conf.d/docker-clean \
    \
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L109-L115
&& echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/docker-no-languages \
\
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L118-L130
&& echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/docker-gzip-indexes \
\
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L134-L151
&& echo 'Apt::AutoRemove::SuggestsImportant "false";' > /etc/apt/apt.conf.d/docker-autoremove-suggests

# delete all the apt list files since they're big and get stale quickly
RUN rm -rf /var/lib/apt/lists/*
# this forces "apt-get update" in dependent images, which is also good

# enable the universe
RUN sed -i 's/^#\s*\(deb.*universe\)$/\1/g' /etc/apt/sources.list

# make systemd-detect-virt return "docker"
# See: https://github.com/systemd/systemd/blob/aa0c34279ee40bce2f9681b496922dedbadfca19/src/basic/virt.c#L434
RUN mkdir -p /run/systemd && echo 'docker' > /run/systemd/container

# overwrite this with 'CMD []' in a dependent Dockerfile
CMD ["/bin/bash"]

下载 ubuntu-xenial-core-cloudimg-amd64-root.tar.gz
放到和Dockerfile同一个文件夹下,执行docker build命令:

$ docker build -t ubuntu16.04:v1 .
Sending build context to Docker daemon 2.048 kB
...

等待完毕!

$ docker images

可以看到ubuntu16.04:v1镜像

2.启动ubuntu16.04镜像

$ docker run --name ubuntu -i -t ubuntu16.04:v1
root@af8bae53bdd3:/#

root@af8bae53bdd3:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

3.Ubuntu16.04安装Oracle JDK

1.去oracle官网下载。也可以使用安装包在你执行这个命令时所在的文件夹位置。

wget http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz 

2.解压

tar -zxvf jdk-8u111-linux-x64.tar.gz

3.移动到自己想放的位置:

    mkdir /usr/lib/jdk    
    mv jdk1.8.0_111  /usr/lib/jdk/jdk1.8

4.设置环境变量:

方案一:修改全局配置文件,作用于所有用户:
vim /etc/profile

    export JAVA_HOME=/usr/lib/jdk/jdk1.8
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=.:${JAVA_HOME}/bin:$PATH

方案二:修改当前用户配置文件,只作用于当前用户:vim ~/.bashrc 设置与上一样

5.使修改的配置立刻生效:执行source /etc/profile或者 source ~/.bashrc

6.检查是否安装成功:java -version

mkdir "$ANDROID_HOME/licenses"
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"

4.Ubuntu16.04安装Android SDK

1.下载地址:https://developer.android.com/studio/index.html#downloads使用wget 去官方下载最新的linux下android SDK包

wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz

2.android sdk 工具包的一些命令行工具是基于32位系统的,在64为平台运行32程序必须安装 i386 的一些依赖库,方法如下:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1

3.解压

tar xvzf android-sdk_r24.4.1-linux.tgz

4.移动到自己想放的位置:

    mkdir /usr/lib/android-sdk    
    mv android-sdk-linux  /usr/lib/android-sdk

5.设置环境变量
编辑 .profile 或者 .bash_profile,参照jdk环境变量设置

export ANDROID_HOME=/usr/lib/android-sdk/android-sdk-linux
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

6.使修改的配置立刻生效:执行source /etc/profile或者 source ~/.bashrc

7.检查是否安装成功:

android list sdk --all

输出:

1- Android SDK Tools, revision 24.4.1
2- Android SDK Platform-tools, revision 21
3- Android SDK Build-tools, revision 21.1.2
4- Android SDK Build-tools, revision 21.1.1
5- Android SDK Build-tools, revision 21.1
6- Android SDK Build-tools, revision 21.0.2
7- Android SDK Build-tools, revision 21.0.1
8- Android SDK Build-tools, revision 21
9- Android SDK Build-tools, revision 20
10- Android SDK Build-tools, revision 19.1
11- Android SDK Build-tools, revision 19.0.3
12- Android SDK Build-tools, revision 19.0.2
13- Android SDK Build-tools, revision 19.0.1
14- Android SDK Build-tools, revision 19
15- Android SDK Build-tools, revision 18.1.1
16- Android SDK Build-tools, revision 18.1
17- Android SDK Build-tools, revision 18.0.1
18- Android SDK Build-tools, revision 17
19- Documentation for Android SDK, API 21, revision 1
20- SDK Platform Android 5.0.1, API 21, revision 2
21- SDK Platform Android 4.4W.2, API 20, revision 2
22- SDK Platform Android 4.4.2, API 19, revision 4
23- SDK Platform Android 4.3.1, API 18, revision 3
24- SDK Platform Android 4.2.2, API 17, revision 3
....

这里包括不同的Android API 版本和不同的构建工具,选择你想要安装项目的序号,这里我想安装 build tools 19.1 ,build tools 21 及 android 4.2.2以上的SDK所以选择序号 1,2,3,20,21,22,23

android update sdk -u -a -t  1,2,3,10,20,21,22,23

5.Ubuntu16.04安装Android NDK

1.下载地址:https://developer.android.com/ndk/downloads/index.html

wget -c http://dl.google.com/android/ndk/android-ndk-r14b-linux-x86_64.zip

2.解压

unzip android-ndk-r14b-linux-x86_64.zip

3.移动到自己想放的位置:

    mkdir /usr/lib/ndk    
    mv ndk-r14b  /usr/lib/ndk

4.设置环境变量
编辑 .profile 或者 .bash_profile,参照jdk环境变量设置

export ANDROID_NDK=/usr/lib/ndk/ndk-r14b
export PATH=$ANDROID_NDK:$PATH

5.使修改的配置立刻生效:执行source /etc/profile或者 source ~/.bashrc

6.检查是否安装成功:

ndk-build -C

若返回下面的信息表示NDK有效


下次接着写。。。。

相关文章

网友评论

    本文标题:Ubuntu下搭建jenkins与docker持续集成

    本文链接:https://www.haomeiwen.com/subject/dnceextx.html