国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

利用Jenkins完成Android項(xiàng)目打包

這篇具有很好參考價(jià)值的文章主要介紹了利用Jenkins完成Android項(xiàng)目打包。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

問(wèn)題和思路

目前存在的問(wèn)題

打包操作由開發(fā)人員完成,這樣開發(fā)進(jìn)度容易被打斷。

解決問(wèn)題的思路

將打包操作交測(cè)試/產(chǎn)品/開發(fā)人員來(lái)完成,主要是測(cè)試/開發(fā)。

按照以上的思路,那么Jenkins+Gradle的解決方案是比較經(jīng)濟(jì)的,實(shí)現(xiàn)起來(lái)難度不大,下面我們?cè)敿?xì)介紹一下搭建過(guò)程。

搭建過(guò)程

服務(wù)器的準(zhǔn)備

  • 普通配置PC一臺(tái)

  • 安裝ubuntu20.04(或者vmware虛擬ubuntu也可以)

  • 可配置上網(wǎng)、關(guān)閉防火墻、開啟ssh服務(wù)

docker安裝Jenkins

在ubuntu下安裝dokcer。使用下面的命令拉取Jenkins的docker鏡像,這里我用的是lts的長(zhǎng)期支持版本,你可以到Jenkins官網(wǎng)自由選擇其他版本。

sudo docker pull jenkins/jenkins:lts

配置宿主機(jī)映射到容器的目錄,之后jenkins的一些配置文件都將會(huì)存儲(chǔ)到該目錄下,這個(gè)目錄可以自己定,但是我建議遵守我這樣的規(guī)范,便于日后查找和管理。

sudo mkdir /home/jenkins_home            # 創(chuàng)建jenkins_home目錄
sudo chown  zhq:zhq /home/jenkins_home      #設(shè)置該目錄的所有者和所屬的組(zhq是常用登錄到機(jī)器的賬號(hào))

ps:zhq是常用登錄到機(jī)器的賬號(hào),這樣為了避免一些有關(guān)操作權(quán)限的問(wèn)題。

啟動(dòng)Jenkins的docker鏡像,并設(shè)置相關(guān)參數(shù),參數(shù)解釋:

  • -d 表示以后臺(tái)模式運(yùn)行

  • --name 為容器定義一個(gè)名字(后面可以代替容器id使用)

  • -p 表示映射容器的端口到宿主機(jī)的端口

  • -v 表示映射宿主機(jī)的目錄到容器的目錄

  • -u zhq 使用zhq用戶運(yùn)行,與登錄到ubuntu的賬號(hào)一致,避免后面出現(xiàn)的一些執(zhí)行權(quán)限問(wèn)題

  • -v /home/jenkins_home:/var/jenkins_home 映射jenkins_home,將數(shù)據(jù)存儲(chǔ)到宿主機(jī),這樣配置就不會(huì)隨容器丟失

  • -v /var/run/docker.sock:/var/run/docker.sock 與 -v /usr/bin/docker:/usr/bin/docker 把宿主機(jī)docker 映射到容器內(nèi),可以直接在容器內(nèi)使用宿主機(jī)docker

  • -v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \ 容器內(nèi)docker運(yùn)行需要的庫(kù)文件

  • -v /opt:/opt \ 自主安裝的一些運(yùn)行時(shí)軟件(如java/maven/git...)

  • -v /etc/timezone:/etc/timezone映射時(shí)區(qū)文件,保證容器的時(shí)區(qū)和宿主機(jī)相同(官網(wǎng)的Jenkins容器時(shí)區(qū)不是中國(guó)的時(shí)區(qū))

最后的jenkins/jenkins:lts是要啟動(dòng)的鏡像。

sudo docker run -d  --name jenkins -p 8080:8080 -p 50000:50000  -u $(id -u) \
  -v /home/jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker \
  -v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
  -v /opt:/opt \
  -v /etc/timezone:/etc/timezone jenkins/jenkins:lts

ps:可使用以下命令查看container是否運(yùn)行成功:

$ sudo docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                              NAMES
3c20dfcbb16e        jenkins/jenkins:lts   "/sbin/tini -- /usr/…"   2 minutes ago       Up 2 minutes        0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp   jenkins

容器啟動(dòng)后,就可以訪問(wèn)ip:8080看到Jenkins首次運(yùn)行的首頁(yè)了,然后通過(guò)下面命令查看初始密碼,填入之后跳轉(zhuǎn)到安裝插件的頁(yè)面,選擇第一個(gè)就好,會(huì)默認(rèn)安裝一些插件。

sudo cat /home/jenkins_home/secrets/initialAdminPassword

ps: 上面路徑與在瀏覽器中訪問(wèn)Jenkins提示的地址不一樣哦,那個(gè)是container中的地址,我們要查宿主機(jī)中映射的地址,見上面的命令,不要搞錯(cuò)。

插件安裝很慢,所以我們要設(shè)置的插件的國(guó)內(nèi)鏡像url進(jìn)行提速,具體自行尋找參考文章。

替換完成后,需要執(zhí)行以下命令,重啟容器:

sudo docker ps    # 獲取container 的id
sudo docker container restart 獲取的container_id

再次訪問(wèn)Jenkins頁(yè)面可以發(fā)現(xiàn)插件安裝飛快。

創(chuàng)建一個(gè)自由風(fēng)格的項(xiàng)目:

  • 在項(xiàng)目配置中,添加git地址、分支名稱

  • 保存退出,回到項(xiàng)目列表,點(diǎn)擊右側(cè)的構(gòu)建按鈕

  • 校驗(yàn)代碼是否拉取成功

cd /home/jenkins_home/workspace
ls -l
drwxr-xr-x 12 zhq zhq 18 4月  21 16:28 HelloWorld   # 如果展示了項(xiàng)目名稱,代表拉取代碼成功
  • 暫停當(dāng)前操作,我們先在本地使用Gradle打包,然后再和Jenkins進(jìn)行結(jié)合

Gradle打本地包

下載解壓java SDK、Android SDK和gradle。

~$ mkdir soft
~$ cd soft
~$ wget ftp://biguser:www.jb51.net@big.gxkjbg.com:8021/201704/tools/jdk-linux-x64.tar.gz
~$ wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
~$ wget https://services.gradle.org/distributions/gradle-5.4.1-all.zip
~$ tar -zxvf jdk-linux-x64.tar.gz -C /opt/java/
~$ tar -zxvf android-sdk_r24.4.1-linux.tgz
~$ unzip gradle-5.4.1-all.zip

配置Java、Android環(huán)境變量。

~$ sudo vim /etc/profile

在文件底部添加以下內(nèi)容:

export JAVA_HOME=/opt/java/jdk1.8.0_131
export PATH=${JAVA_HOME}/bin:${PATH}
export ANDROID_HOME=/home/zhq/soft/android-sdk-linux

保存退出后,導(dǎo)入新的配置:

~$ source /etc/profile

現(xiàn)在來(lái)驗(yàn)證一下。以我們當(dāng)前項(xiàng)目做例子,可執(zhí)行下面命令:

~$ ./soft/gradle-5.4.1/bin/gradle --parallel -b /home/jenkins_home/workspace/HelloWorld/build.gradle assemble_test

其中:

  • /home/jenkins_home/workspace/是文中Jenkins用來(lái)存放項(xiàng)目代碼的目錄;

  • /HelloWorld/build.gradle我們項(xiàng)目build.gradle所在目錄,如果打包其他項(xiàng)目應(yīng)做響應(yīng)替換;

  • assemble_test是項(xiàng)目的buildType,一般都會(huì)有assembleDebug和assembleRelease,項(xiàng)目不同可能會(huì)有其他類型,比如我們用到的assemble_test。

以上操作,有錯(cuò)誤產(chǎn)生,和當(dāng)前所使用的Android SDK沒有升級(jí)相關(guān)版本有關(guān)系,由于下載的Android SDK無(wú)法啟動(dòng)Android SDK manger,所以我安裝了Android Studio,在啟動(dòng)的時(shí)候提示指定SDK路徑,啟動(dòng)已經(jīng)下載了的項(xiàng)目,按照提示更新SDK即可。

Android Studio在ubuntu下安裝比較容易,在此不做詳細(xì)說(shuō)明了。

把Jenkins和Gradle進(jìn)行結(jié)合

把打包命令寫成一個(gè)腳本test.sh。

#!/bin/bash +x
. /etc/profile   
~/soft/gradle-5.4.1/bin/gradle --parallel -b /home/jenkins_home/workspace/HelloWorld/build.gradle

保存退出后,增加執(zhí)行權(quán)限:

chmod +x test.sh

在Jenkins項(xiàng)目中添加構(gòu)建shell,把剛才文件的絕對(duì)路徑添加進(jìn)去,下面我們就準(zhǔn)確掉坑里了。

執(zhí)行項(xiàng)目構(gòu)建發(fā)現(xiàn)構(gòu)建失敗,提示test.sh沒有找到,這是因?yàn)镴enkins執(zhí)行的時(shí)候,是在容器中進(jìn)行的,我們剛才那個(gè)路徑在容器中不存在,我們需要把宿主機(jī)當(dāng)作一臺(tái)遠(yuǎn)程機(jī)器ssh到機(jī)器上執(zhí)行腳本:

  • 給Jenkins安裝SSH插件

  • 在系統(tǒng)管理-->系統(tǒng)配置中按照填寫宿主機(jī)ip/端口/憑證(登錄賬號(hào)密碼)如下圖:

jenkins 使用gradle打包android,自動(dòng)化測(cè)試,程序人生,程序員,單元測(cè)試,職場(chǎng)和發(fā)展,自動(dòng)化測(cè)試,性能測(cè)試,軟件測(cè)試

  • 保存退出,重新構(gòu)建

至此,這臺(tái)機(jī)器已經(jīng)可以成功打包了。

掃尾工作

安裝存放到指定位置。對(duì)于上面提到的test.sh可以進(jìn)行修改,把a(bǔ)pk放到指定位置,代碼修改如下:

#!/bin/sh +x
.  /etc/profile
~/soft/gradle-5.4.1/bin/gradle --parallel -b /home/jenkins_home/workspace/Hellworld/build.gradle assemble_test



app_path='/home/jenkins_home/workspace/{項(xiàng)目apk存放的位置,根據(jù)項(xiàng)目不同進(jìn)行修改替換}'
target_path='/home/zhq/webroot/apks/'     # 此處是自定義存放位置

if [ "`ls -A ${app_path}`" = "" ];
then
        echo "${app_path} is empty"
else
        mv $app_path/*.apk $target_path
        rm -rf $app_path/*
fi

把列表發(fā)布到網(wǎng)絡(luò),可以通過(guò)瀏覽器訪問(wèn):

  • 使用docker安裝lnmp服務(wù)器

  • 映射apk存放目錄到nignx服務(wù)器

以上內(nèi)容不是很難,略掉了哈。

最后:?下方這份完整的軟件測(cè)試視頻學(xué)習(xí)教程已經(jīng)整理上傳完成,朋友們?nèi)绻枰梢宰孕忻赓M(fèi)領(lǐng)取【保證100%免費(fèi)】

jenkins 使用gradle打包android,自動(dòng)化測(cè)試,程序人生,程序員,單元測(cè)試,職場(chǎng)和發(fā)展,自動(dòng)化測(cè)試,性能測(cè)試,軟件測(cè)試

?這些資料,對(duì)于【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴上萬(wàn)個(gè)測(cè)試工程師們走過(guò)最艱難的路程,希望也能幫助到你!

jenkins 使用gradle打包android,自動(dòng)化測(cè)試,程序人生,程序員,單元測(cè)試,職場(chǎng)和發(fā)展,自動(dòng)化測(cè)試,性能測(cè)試,軟件測(cè)試

jenkins 使用gradle打包android,自動(dòng)化測(cè)試,程序人生,程序員,單元測(cè)試,職場(chǎng)和發(fā)展,自動(dòng)化測(cè)試,性能測(cè)試,軟件測(cè)試文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-779938.html

到了這里,關(guān)于利用Jenkins完成Android項(xiàng)目打包的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Jenkins怎么配置Gradle只構(gòu)建子項(xiàng)目,而不構(gòu)建父項(xiàng)目,Jenkins配置gradle詳細(xì)介紹

    ????????Jenkins是一個(gè)開源軟件項(xiàng)目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開放易用的軟件平臺(tái),使軟件項(xiàng)目可以進(jìn)行持續(xù)集成。 在實(shí)際開發(fā)中,我們經(jīng)常要一邊開發(fā)一邊測(cè)試,當(dāng)然這里說(shuō)的測(cè)試并不是程序員對(duì)自己代碼的單元測(cè)試

    2024年02月03日
    瀏覽(16)
  • Android ---使用Jenkins 打包release版本不能安裝或者安裝后不顯示APP

    Android ---使用Jenkins 打包release版本不能安裝或者安裝后不顯示APP

    ? ? ?大家在用 Jenkins的時(shí)候,是不是會(huì)覺得很爽,因?yàn)樗谟玫倪^(guò)程中,是無(wú)腦的,畢竟一鍵觸發(fā)!?。?! ? ? ?這邊記錄一個(gè)昨天,今天遇到的一個(gè)坑貨問(wèn)題,別人提交了所有代碼,我在Jenkins 觸發(fā)構(gòu)建,得到APK后,第一時(shí)間是發(fā)現(xiàn),跟本地構(gòu)建的對(duì)應(yīng)包, 大小差的有點(diǎn)多

    2024年02月11日
    瀏覽(22)
  • 記錄使用jenkins配置maven,并且打包,部署,發(fā)布maven項(xiàng)目的過(guò)程

    記錄使用jenkins配置maven,并且打包,部署,發(fā)布maven項(xiàng)目的過(guò)程

    專欄的前面幾篇博客已經(jīng)把jenkins和gitlab集成起來(lái)了,接著我們開始打包,部署發(fā)布maven項(xiàng)目 首先在jenkins中安裝maven,docker安裝的maven默認(rèn)安裝了java,但是沒有安裝maven,所以這里我們需要自己進(jìn)入到j(luò)enkins容器中,然后安裝maven。 我這里的maven是自己在官網(wǎng)傳送門下載的最新版

    2024年02月02日
    瀏覽(34)
  • 【jenkins】jenkins流水線構(gòu)建打包jar,生成docker鏡像,重啟docker服務(wù)的過(guò)程,在jenkins上一鍵完成,實(shí)現(xiàn)提交代碼自動(dòng)構(gòu)建的功能

    【jenkins】jenkins流水線構(gòu)建打包jar,生成docker鏡像,重啟docker服務(wù)的過(guò)程,在jenkins上一鍵完成,實(shí)現(xiàn)提交代碼自動(dòng)構(gòu)建的功能

    ?【jenkins】jenkins流水線構(gòu)建打包jar,生成docker鏡像,重啟docker服務(wù)的過(guò)程,在jenkins上一鍵完成,實(shí)現(xiàn)提交代碼自動(dòng)構(gòu)建,服務(wù)重啟,服務(wù)發(fā)布的功能。一鍵實(shí)現(xiàn)。非常的舒服。 這是 shell腳本? 腳本名稱: startup.sh ? 本腳本的功能是在jenkins 構(gòu)建完項(xiàng)目后,通過(guò)jar包生成dock

    2024年02月11日
    瀏覽(98)
  • 一文完成Jenkins+Docker+Git(多分支構(gòu)建)打包、部署,實(shí)現(xiàn)可持續(xù)化集成

    一文完成Jenkins+Docker+Git(多分支構(gòu)建)打包、部署,實(shí)現(xiàn)可持續(xù)化集成

    官網(wǎng):Jenkins官網(wǎng) 參考:Jenkins簡(jiǎn)介 Jenkins是一個(gè)開源軟件項(xiàng)目,起源于Hudson(Hudson是商用的),是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開放易用的軟件平臺(tái),使軟件項(xiàng)目可以進(jìn)行持續(xù)集成 可在Tomcat等流行的servlet容器中運(yùn)行,也可獨(dú)立運(yùn)

    2024年01月18日
    瀏覽(28)
  • Linux服務(wù)器Jenkins部署打包Android

    Linux服務(wù)器Jenkins部署打包Android

    介紹 Jenkins 自動(dòng)打包 Android 應(yīng)用,后面介紹打包Flutter應(yīng)用,然后介紹打包Android原生+Flutter混合應(yīng)用 準(zhǔn)備工作 1.jenkins服務(wù)器地址 賬戶密碼 2.項(xiàng)目git地址 訪問(wèn)賬號(hào)密碼 3.ssh 鏈接服務(wù)器賬戶密碼 安裝Android環(huán)境 Android SDK下載 國(guó)內(nèi)老版本下載地址 官網(wǎng)下載地址 下載到本地使用使

    2024年02月10日
    瀏覽(23)
  • jenkins安裝,打包,部署java項(xiàng)目

    jenkins安裝,打包,部署java項(xiàng)目

    一、安裝 下載地址 :https://www.jenkins.io/zh/download/ 選擇 CentOS/Fedora/Red Hat版本 安裝命令如下: 至此 不出意外 安裝已經(jīng)結(jié)束 啟動(dòng) Jenkins 記得打開8080防火墻 如果出現(xiàn) Build step ‘Execute shell’ marked build as failure 權(quán)限不夠 解決方法,將Jenkins運(yùn)行用戶改為root,默認(rèn)Jenkins用戶 JENKINS

    2024年02月02日
    瀏覽(17)
  • Jenkins配置maven項(xiàng)目,打包、部署、發(fā)布

    Jenkins配置maven項(xiàng)目,打包、部署、發(fā)布

    Jenkins和項(xiàng)目在兩臺(tái)服務(wù)器上 Jenkins的下載安裝部署省略,可自行上官網(wǎng)。 1.安裝maven插件 完成后,會(huì)出現(xiàn)“success”,并且勾選“安裝完成后重啟Jenkins(空閑時(shí))” 2.部署有Jenkins的服務(wù)器上,下載maven,配置環(huán)境變量,我在opt/目錄下放著。 ?執(zhí)行命令: Jenkins配置maven 配置maven,

    2024年02月09日
    瀏覽(19)
  • jenkins+gitlab實(shí)現(xiàn)Android自動(dòng)打包填坑之旅

    jenkins+gitlab實(shí)現(xiàn)Android自動(dòng)打包填坑之旅

    1.首先你需要知道你想要實(shí)現(xiàn)的Android自動(dòng)打包的Android項(xiàng)目的一些環(huán)境配置及需要使用的一些開發(fā)版本。 聲明:本文 Android項(xiàng)目基于:1.jdk11 2.SDK無(wú)要求 3.gradle無(wú)要求(同Manven一樣為項(xiàng)目自動(dòng)化構(gòu)建開源工具) 注:本文適用于 任何版本 jdk SDK Gradle。 了解Android項(xiàng)目使用到的東西

    2024年01月25日
    瀏覽(19)
  • jenkins 打包項(xiàng)目,并發(fā)布到其他服務(wù)器

    jenkins 打包項(xiàng)目,并發(fā)布到其他服務(wù)器

    在jenkins的節(jié)點(diǎn)服務(wù)上進(jìn)行項(xiàng)目的打包操作。 jenkins節(jié)點(diǎn)服務(wù)上需要的程序: 1.git 用于從gitlab上拉取項(xiàng)目,到j(luò)enkins節(jié)點(diǎn)服務(wù)器上的workspace目錄中。 2.java 用于執(zhí)行jenkins的一些操作。 3.maven 如果是maven項(xiàng)目,要用于管理依賴。 jenkins 配置 Publish over SSH 插件。用于將節(jié)點(diǎn)服務(wù)上打包

    2024年02月15日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包