git+jenkins+docker進(jìn)行web自動(dòng)化持續(xù)集成

一切省,將已經(jīng)寫好的ui自動(dòng)化代碼提交到git

1.要在提交代碼時(shí)過濾某些文件或目錄沦泌,可以使用.gitignore文件來指定要忽略的內(nèi)容溉痢。創(chuàng)建一個(gè)名為.gitignore的文件,并在其中列出不想提交的文件或目錄包雀。
以下是一個(gè)示例.gitignore文件:

.idea/*
.pytest_cache/*
__pycache__/*
*.pyc
report/*
!auth/state.json
uitest.log
result.txt

1,提交代碼

1.在本地計(jì)算機(jī)創(chuàng)建一個(gè)新的文件夾宿崭,用于存放項(xiàng)目代碼。
2.打開命令行界面才写,進(jìn)入到項(xiàng)目文件夾中葡兑。
3.初始化本地 Git 倉庫:git init。
4.將代碼添加到 Git 中進(jìn)行跟蹤:git add .(這會(huì)將所有文件添加到暫存區(qū))琅摩。
5.提交代碼:git commit -m "Initial commit"铁孵。
6.前往新建的 Git 倉庫頁面锭硼,在頁面中找到倉庫的 URL房资。
7.將本地倉庫與遠(yuǎn)程倉庫關(guān)聯(lián):git remote add origin <倉庫的URL>。
8.將本地代碼推送到遠(yuǎn)程倉庫:git push -u origin master(如果使用的是主分支為 main檀头,則替換為 main)轰异。

2,其他
2.1放棄git add

取消對(duì)特定文件的 git add:
運(yùn)行命令:git reset <file>暑始,其中 <file> 是要取消添加到暫存區(qū)的文件名搭独。

取消所有已經(jīng) git add 的文件:
運(yùn)行命令:git reset 或者 git reset .。 #這將取消所有已經(jīng)添加到暫存區(qū)的文件

2.2如果已經(jīng)提交了 uitest.log 文件廊镜,但是想要從版本控制中刪除它牙肝,可以按照以下步驟操作:
從 Git 中刪除文件:

運(yùn)行命令:git rm --cached uitest.log。這會(huì)將 uitest.log 從暫存區(qū)和 Git 倉庫中移除嗤朴,但會(huì)保留在你的本地文件系統(tǒng)中配椭。
更新 .gitignore 文件(可選):

在 .gitignore 文件中添加一行 uitest.log,這樣就可以確保在將來的提交中忽略該文件雹姊。
提交更改:

運(yùn)行命令:git commit -m "Remove uitest.log from version control"股缸。

2.3如果你希望放棄最近的 commit,并撤銷對(duì)文件的更改吱雏,可以通過以下步驟實(shí)現(xiàn):

撤銷最近的 commit:

運(yùn)行命令:git reset HEAD~1敦姻。這會(huì)將最近的 commit 撤銷瘾境,并且保留文件的修改內(nèi)容在工作目錄中。
撤銷對(duì)特定文件的更改:

運(yùn)行命令:git checkout -- <file>镰惦,其中 <file> 是要撤銷更改的文件名迷守。這會(huì)將文件恢復(fù)到最近一次 commit 的狀態(tài)。

二旺入,安裝jenkins

1盒犹,docker安裝jenkins:http://www.reibang.com/p/90f2823ce306(有外網(wǎng))
2,給沒有外網(wǎng)的linux主機(jī)安裝插件
(1)先在有網(wǎng)絡(luò)的本機(jī)把jenkins鏡像pull下來

docker pull  jenkins/jenkins:lts

(2)然后把用這個(gè)作為基礎(chǔ)鏡像安裝python打新的鏡像并上傳到私有倉庫
Dockerfile:

# 使用 Jenkins 官方鏡像作為基礎(chǔ)
FROM jenkins/jenkins:lts

# 切換用戶為 root
USER root

# 安裝 Python 3眨业、JDK 8急膀、Git 和 Docker
RUN apt-get update && \
    apt-get install -y python3 python3-pip docker.io

# 將 Jenkins 用戶添加到 Docker 用戶組,以便運(yùn)行 Docker 命令
RUN usermod -aG docker jenkins

# 切換回 Jenkins 用戶
USER jenkins

打鏡像上傳倉庫:

docker build -t jenkins/jenkins:llhtest .     # 到Dockerfile那個(gè)目錄下
docker tag jenkins/jenkins:llhtest xxx/jenkins:llhtest
docker login xxx倉庫
docker push xxx/jenkins:llhtest

(3)再到對(duì)于的linux主機(jī)上拉下來然后運(yùn)行

docker login xxx倉庫
docker pull xxx/jenkins:lts
sudo docker run -itd -p 10083:8080 -p 50000:50000 --name llhjenkins --privileged=true -v /apps/svr/llhtest:/var/jenkins_home  xxx/jenkins:llhtest   #記得要先創(chuàng)建llhtest目錄

3龄捡,給Jenkins安裝插件(一個(gè)笨辦法卓嫂,但是好用)
(1)首先在自己本地(掛載形式)運(yùn)行的jenkins安裝插件
(2)把掛載目錄下的plugins打包成zip包
(3)把這個(gè)zip包上傳到?jīng)]有外網(wǎng)的linux主機(jī)上
(4)復(fù)制到掛載目錄下,并解壓到plugins目錄下

unzip plugins.zip -d plugins

(6)重啟容器

docker restart containerid

重啟成功后:


image.png

三聘殖,創(chuàng)建 Jenkins 任務(wù):

1晨雳,添加節(jié)點(diǎn)
這里把linux本機(jī)添加為節(jié)點(diǎn),
這里可能jenkins的jdk版本與宿主機(jī)的版本不一致奸腺,我不想再給linux本機(jī)裝一次高版本jdk
所以我把docker里的java目錄復(fù)制到/var/jenkins_home

which java
cd var/jenkins_home/
cp /opt/java/* ./java

ps:節(jié)點(diǎn)的工作目錄jenkins-workspace
1餐禁,在 Jenkins 中創(chuàng)建一個(gè)新的構(gòu)建任務(wù)(自由風(fēng)格或流水線項(xiàng)目)。

(1)配置源代碼管理:
在構(gòu)建任務(wù)中配置 Git 作為源代碼管理突照,以便 Jenkins 可以拉取你的代碼帮非。在憑據(jù)中添加之前創(chuàng)建的 SSH 憑據(jù)以便 Jenkins 可以訪問你的 Git 倉庫。


image.png

(2)由于linux機(jī)器無法支持playwright,容器啟動(dòng)playwright

docker run -itd --name playwright-python  -v /apps/svr/jenkins-workspace:/root  image.midea.com/t-onemonitor/playwright-python:v1.32.0-focal

(3)構(gòu)建步驟:
在playwright-python容器內(nèi)進(jìn)行自動(dòng)化

docker exec -i playwright-python /bin/bash -c "cd /root/workspace/autotest-web/ && pip install -r requirements.txt -i https://monidev.midea.com/nexus/repository/pypi-central/simple && python main.py"

image.png

(4)結(jié)果:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末讹蘑,一起剝皮案震驚了整個(gè)濱河市末盔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌座慰,老刑警劉巖陨舱,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異版仔,居然都是意外死亡游盲,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門蛮粮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來益缎,“玉大人,你說我怎么就攤上這事蝉揍×辞停” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵又沾,是天一觀的道長弊仪。 經(jīng)常有香客問我熙卡,道長,這世上最難降的妖魔是什么励饵? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任驳癌,我火速辦了婚禮,結(jié)果婚禮上役听,老公的妹妹穿的比我還像新娘颓鲜。我一直安慰自己,他們只是感情好典予,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布甜滨。 她就那樣靜靜地躺著,像睡著了一般瘤袖。 火紅的嫁衣襯著肌膚如雪衣摩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天捂敌,我揣著相機(jī)與錄音艾扮,去河邊找鬼。 笑死占婉,一個(gè)胖子當(dāng)著我的面吹牛泡嘴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逆济,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼酌予,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了纹腌?” 一聲冷哼從身側(cè)響起霎终,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤滞磺,失蹤者是張志新(化名)和其女友劉穎升薯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體击困,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涎劈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了阅茶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛛枚。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖脸哀,靈堂內(nèi)的尸體忽然破棺而出蹦浦,到底是詐尸還是另有隱情,我是刑警寧澤撞蜂,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布盲镶,位于F島的核電站侥袜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏溉贿。R本人自食惡果不足惜枫吧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宇色。 院中可真熱鬧九杂,春花似錦、人聲如沸宣蠕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抢蚀。三九已至裳擎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間思币,已是汗流浹背鹿响。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谷饿,地道東北人惶我。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像博投,于是被迫代替她去往敵國和親绸贡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348