色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

你用docker做過什么好玩或者有逼格的事情

江奕云2年前110瀏覽0評論

你用docker做過什么好玩或者有逼格的事情?

使用 Docker 搭建 Jenkins+python3+selenium\helium 項目項目背景用 python3 在本地寫了一個項目,這個項目采用 helium+selenium+chrome 進行界面操作,代碼放在 gitee 上托管?,F(xiàn)在基本功能已經(jīng)實現(xiàn),想在 Linux 服務器上部署項目代碼,實現(xiàn)自動構建。

自動構建解決方案自動構建工具選型:jenkins中間件選型:docker代碼運行環(huán)境:python3腳本運行工具:Chrome 瀏覽器、chromedriver、helium 庫Ⅰ、安裝 dockerLinux 系統(tǒng)中安裝 docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

docker 鏡像國內(nèi)加速

vim /etc/docker/daemon.json

{

"registry-mirrors": [

"https://registry.docker-cn.com",

"http://hub-mirror.c.163.com",

"https://docker.mirrors.ustc.edu.cn"

]

}

# 重啟服務

systemctl daemon-reload

systemctl restart docker

Ⅱ、安裝 jenkins在 Linux 上任意路徑,創(chuàng)建一個用于存放 Jenkins 文件的文件夾 "jenkins_py"

mkdir jenkins_py docker run -itd --name=jenkins_py -p 8989:8080 -p 50001:50000 -v $PWD:/var/jenkins_home --privileged=true -u root jenkins/jenkins

訪問 jenkins:http://ip:8989

出現(xiàn)輸入密碼頁面時,獲取密碼:方法 1:# 進入容器

docker exec -it -u root jenkins_py /bin/bash

# 查看密碼

cat /var/jenkins_home/secrets/initialAdminPassword

方法 2:

# 在當前宿主linux機器上,進入前面自己創(chuàng)建的jenkins_py文件夾

cd secrets

cat initialAdminPassword

復制密碼,填入 Web 頁面的密碼框,在選擇安裝插件頁面,點擊安裝推薦插件,等待插件自動安裝

Ⅲ、容器安裝必要軟件進入容器

docker exec -it -u root jenkins_py /bin/bash

安裝更新

# 安裝更新

apt-get update

# 查看系統(tǒng)

cat /etc/issue

# 此時容器默認的系統(tǒng)為 debain 9

# debain默認的軟件源非常慢, 可以更換為國內(nèi)阿里源

# 安裝vim

apt-get install -y vim

apt-get install -y wget

# 更換源為阿里源

vim /etc/apt/sources.list

deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib

deb-src http://mirrors.aliyun.com/debian/ stretch main non-free contrib

deb http://mirrors.aliyun.com/debian-security stretch/updates main

deb-src http://mirrors.aliyun.com/debian-security stretch/updates main

deb http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib

deb-src http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib

deb http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib

deb-src http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib

# 更新系統(tǒng)

apt-get update

# 安裝libssl-dev

apt-get install libssl-dev

Ⅳ、配置 Web 自動化環(huán)境下載瀏覽器百度搜索"chrome for linux", 下載適合 debain 版本的 Chrome 瀏覽器把下載的文件上傳到 Linux 機器下載瀏覽器驅動下載 Chrome 瀏覽器 Linux 對應版本的驅動把下載的文件上傳到 Linux 機器Jenkins 容器中,安裝 Chrome 瀏覽器

# 把chrome文件,復制到上面創(chuàng)建的 jenkins_py 文件夾

cp google-chrome-stable_current_amd64_85.0.4183.102.deb ./jenkins_py/

# 進入容器

docker exec -it -u root jenkins_py /bin/bash

cd /var/jenkins_home

chmod +x google-chrome-stable_current_amd64_85.0.4183.102.deb

dpkg -i google-chrome-stable_current_amd64_85.0.4183.102.deb

配置瀏覽器驅動

# 解壓驅動zip包

unzip chromedriver_linux64.zip

# 拷貝到 jenkins_py文件夾

cp chromedriver ./jenkins_py/

# 進入容器

docker exec -it -u root jenkins_py /bin/bash

cd /var/jenkins_home

chmod +x chromedriver

mv chromedriver /usr/bin/

cp /usr/bin/chromedriver /usr/local/bin/

Ⅴ、安裝 python3安裝 python3

apt-get install -y python3

安裝 pip

# 下載pip

wget https://bootstrap.pypa.io/get-pip.py

python3 get-pip.py

pip3 install --upgrade --force-reinstall setuptools

修改系統(tǒng)默認 python 版本為 python3

cd /usr/bin

ls -l python*

# 查看上面的python3的版本

rm -rf python

ln -s python3.5 pythonpython3.5

# 修改為上面對于的python3版本* 修改pip源

修改 pip 源

vim /etc/pip.conf

[global]

trusted-host = mirrors.aliyun.com

index-url = http://mirrors.aliyun.com/pypi/simple/

Ⅵ、jenkins 配置任務創(chuàng)建任務

配置 Git

配置構建觸發(fā)器(可選)

配置構建腳本

pip install -r requirements.txt 執(zhí)行項目根目錄中的 requirements.txt 文件,自動安裝項目需要的庫,這樣就不用擔心代碼引入了新庫,而 Jenkins 中不存在,導致報錯了。

cp ../../tools.ini $PWD/src/conf 拷貝配置文件。因為 gitee 托管項目時,沒有提交 ini 帶私密信息的配置文件

python main.py 用 python 執(zhí)行項目

構建

注意: 用 docker+jenkins 來運行 selenium 的項目,是無圖形界面的,所以項目中,瀏覽器必須采用無頭模式

# 參考代碼

self.options = ChromeOptions()

self.options.add_argument('--headless')

self.options.add_argument('--no-sandbox')

self.options.add_argument('--disable-gpu')

self.options.add_argument('--disable-dev-shm-usage')

start_chrome(headless=True,options=self.options)

好了,項目構建成功。整個構建步驟、方法,你學會了嗎?

java var,你用docker做過什么好玩或者有逼格的事情