Jenkins + Docker
Published in
2 min readJan 5, 2016
管家與碼工的日常
- Master/Slave
- Host volume
Install Docker with compose for ubuntu 14.04
wget -qO- https://get.docker.com/ | sh
授權使用者:
sudo usermod -aG docker andrew
Master 管家
啟動官方 jenkins docker:
docker run -p 8080:8080 -p 50000:50000 -v /var/jenkins_home jenkins
Slave 安卓僕人
僕人的特長要自己準備
FROM yongjhih/ubuntu-jenkins
ENV DEBIAN_FRONTEND noninteractive
USER root
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN apt-get update && apt-get install -y wget git curl zip software-properties-common && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN add-apt-repository ppa:ubuntu-desktop/ubuntu-make
RUN apt-get update && apt-get install -y ubuntu-make
RUN umake android android-sdk --accept-license ~/.local/share/umake/android/android-sdk
ENV ANDROID_HOME /root/.local/share/umake/android/android-sdk
ENV PATH $ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH
RUN echo "y" | android update sdk -u -a --filter platform-tools,android-23,build-tools-23.0.1,extra-android-support,extra-android-m2repository,extra-google-google_play_services
RUN curl https://storage.googleapis.com/git-repo-downloads/repo > /usr/local/bin/repo
RUN chmod a+x /usr/local/bin/repo
USER jenkins
continue…
android tool 番外篇
套件識別名稱列表:
android list sdk -e
常見套件識別名稱:
- platform-tools
- android-23
- build-tools-23.0.1
- extra-android-support
- extra-android-m2repository
- extra-google-google_play_services
Jenkins 搬遷番外篇 1
Proxy 番外篇 2
~/.bashrc
export PROXY=http://192.168.1.2:3128/
export http_proxy=http://192.168.1.2:3128/
export https_proxy=https://192.168.1.2:3128/
/etc/apt/apt.conf.d/77proxy
Acquire::http::Proxy “http://192.168.1.2:3128";
/etc/default/docker
export http_proxy='http://192.168.1.2:3128/'
/etc/squid3/squid.conf
acl localnet src 192.168.0.0/16
# ...
http_access allow localnet
# ...
delay_pools 2
delay_class 1 2
delay_access 1 allow localnet
delay_parameters 1 256000/256000 256000/256000http_port 3128 transparent
~/.android/androidtool.cfg
http.proxyHost=192.168.1.2
http.proxyPort=3128
Http Transparent Proxy 番外篇
iptables -t nat -D OUTPUT -p tcp — dport 80 -j DNAT — to 192.168.1.2:3128
NAT 番外篇
發現太多地方要設定 proxy 所以直接改用 nat 。
Server:
iptables -t nat -A POSTROUTING -s 192.168.1.3 -o eth1 -j MASQUERADE
Client:
route add default gw 192.168.1.2