1、安裝系統、配置環境與工具
在centos官網下載centos7的鏡像文件,安裝系統,這里可以根據公司或者個人的需求進行安裝,安裝過程一路默認就好,使用普通電腦搭建和公司服務器的虛擬機中搭建都是OK的。如果搭建成功后沒有網絡,可以檢查虛擬機網卡的激活情況,需要配置虛擬機和主機在同一局域網中,記得把網絡配置設置為橋接模式。
服務器系統:centos7.8
ssh工具:xshell
root賬號: root? 密碼:root
系統用戶暫不創建
2、配置centos7固定ip,開啟ssh
系統安裝完成并啟動后,先找到路徑/etc/sysconfig/network-scripts,其中的ifcfg-(網卡名稱)文件里存放的就是IP配置信息。而且是只可讀的,于是我們用終端來配置該IP信息。
su root
[root]#?vi? /etc/sysconfig/network-scripts/ifcfg-ens33(網卡名稱)
在centos7里默認是不啟動網卡的,需要修改下配置。
ONBOOT=yes
然后再加上以下幾個參數的設置 :
IPADDR=192.168.1.168(你想設置的IP地址)
NTSMASK=255.255.255.0GATEWAY=192.168.1.1(默認網關)
DNS1=8.8.8.8(首選DNS地址,可與默認網關一樣)
:wq 保存退出
重新啟動網絡服務
[root]#??service network restart
通過SSH工具連接虛擬機中的CentOS7
1、?首先,要確保CentOS7安裝了 ?openssh-server,在終端中輸入 ?yum list installed | grep openssh-server
2、 ?找到了 ?/etc/ssh/ ?目錄下的sshd服務配置文件?sshd_config,用Vim編輯器打開將文件中,關于監聽端口、監聽地址前的#號去除
:wq 保存退出
[root]#?systemctl start sshd.service
3、在SSH工具(此處使用的XShell)中,新建連接,輸入 ?CentOS ? 的 ?IP ?地址、用戶名、密碼即可連接成功,為了免去每次開啟CentOS時,都要手動開啟 ?sshd 服務,可以將 sshd 服務添加至自啟動列表中,輸入
[root]#?systemctl enable sshd.service
可以通過輸入systemctl list-unit-files | grep sshd,查看是否開啟了sshd 服務自啟動
3、配置JDK
[root]#?yum -y install vim 先安裝vim文本編輯工具,后面使用方便一些
1、查看系統自帶的OpenJDK版本信息,如果版本不符合需要移除的可以使用 rpm -qa | grep java移除
2、創建java目錄并安裝,jdk可根據自己的需要自行下載,通過xshell的-窗口-傳輸新建文件傳到指定目錄
[root]#?mkdir /usr/java/
[root]#?tar -zxvf jdk-8u212-linux-x64.tar.g
3、設置全局變量,打開文件???vim /etc/profile 在末尾添加
保存并退出,使環境變量生效執行 source /etc/profile
4、準備所需軟件
1、安裝gitweb(Gitweb提供了git版本庫的圖形化web瀏覽功能)
[root]#?yum install gitweb
2、安裝git-review(通過git-review向gerrit提交review請求)
[root]#?yum install git-review? 我這里使用的默認的centos源,找不到這安裝包,這里我們需要添加其他源來下載
首先進入/etc/yum.repos.d/目錄下,新建一個default目錄,用于保存系統中原來的repo文件
[root]#?cd /etc/yum.repos.d/
[root]#?mkdir default
[root]#?mv *.repo default/
[root]#?yum -y install epel-release?
[root]#?yum clean all???? #清除系統所有的yum緩存
[root]#?yum make cache # 生成yum緩存
3、安裝git
使用git --version查看是否安裝過,如果版本過老(內置一般是1.18.3版本)或者環境已經用yum裝過git, gitweb,或 git-review,則不能用yum remove git來卸載git, 因為這樣會同時卸載依賴包gitweb, git-review,卸載老git而不卸載依賴包gitweb, git-review :
[root]#?rpm -e --nodeps git
[root]#?yum-y install wget 安裝wget下載工具
[root]#?mkdir /usr/git/ 創建一個git的安裝目錄,并進入此目錄中cd mkdir /usr/git/?
[root]#?wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.26.2.tar.gz? 下載新版的git壓縮包
[root]#?tar -zxf git-2.26.2.tar.gz? 解壓縮后出現git-2.26.2文件夾
[root]#?cd?git-2.26.2? 進入git-2.26.2文件夾
[root]#?./configure prefix=/usr/git/? ? 配置git的安裝路徑
[root]#?make&&makeinstall? 安裝完成后會在/usr/git下生成bin目錄
[root]#?vim /etc/profile? 為git配置環境變量
[root]#?source /etc/profile 生效后可通過git --version查看當前安裝的版本是否配置成功
4、安裝數據庫mysql
由于CentOS 的yum源中沒有mysql,需要到mysql的官網下載yum repo配置文件。
[root]#?wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
[root]#?rpm -ivh mysql57-community-release-el7-9.noarch.rpm?進行repo的安裝
[root]#?yum install mysql-server 安裝
[root]#?systemctl start mysqld??啟動MySQL? 通過ps -e | grep mysqld 查看是否啟動
[root]#?systemctl enable mysqld? 設置開機啟動
[root]#?systemctl daemon-reload??設置開機啟動 通過
mysql安裝完成之后,在/var/log/mysqld.log文件中給root生成了一個臨時的默認密碼。
[root]#?vim? /var/log/mysqld.log
[root]#?mysql -u root -p 使用root賬戶打開mysql,輸入上面查到的臨時密碼e!e)>tmf.0Ml就可以
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123!'? ? 修改密碼為Root123! (密碼必須是大小寫字母? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?數字特殊字母的組合,至少8位)
[root]#?vim /etc/my.cnf? 配置默認編碼為utf-8
[root]#?systemctl restart mysqld? 重啟mysql
mysql> show variables like '%character%';? 再次登錄msql,查看當前的編碼
創建gerrit數據庫
mysql>create database gerritdb CHARACTER SET utf8 COLLATE utf8_general_ci; 創建gerritdb?數據庫
mysql>grant all on gerritdb.* to 'gerrit'@'localhost' identified by 'gerritPwd123!';? 給用戶授權
mysql>flush privileges;? 命令生效
5、安裝Apache服務并啟動
[root]# yum-y install httpd? ? 后面配置gerrit的時候需要使用htpasswd命令
5、安裝gerrit
在官方下載最新的Gerrit版本 (https://www.gerritcodereview.com/)
[root]#?useradd gerrit? ? ? 添加gerrit用戶
[root]#?passwd gerrit123? 設置gerrit用戶的密碼
創建用戶gerrit,密碼gerrit123
將下載好的文件 放到/home/gerrit目錄下
[gerrit]#?java -jar gerrit-3.0.3.war init -d review_site? 安裝選項如下
*** Gerrit Code Review 3.0.3
***
Create '/usr/gerrit/review_site' [Y/n]? y
*** Git Repositories
***
Location of Git repositories? [git]: /home/gerrit/git
*** Index
***
Type? ? ? ? ? ? ? ? ? ? ? ? ? [lucene/?]:
The index must be rebuilt before starting Gerrit:
? java -jar gerrit.war reindex -d site_path
*** User Authentication
***
Authentication method? ? ? ? ? [openid/?]: http
Get username from custom HTTP header [y/N]? n
SSO logout URL? ? ? ? ? ? ? ? :
Enable signed push support? ? [y/N]? y
*** Review Labels
***
Install Verified label? ? ? ? [y/N]? y
*** Email Delivery
***
SMTP server hostname? ? ? ? ? [localhost]: smtp.163.com
SMTP server port? ? ? ? ? ? ? [(default)]: 25
SMTP encryption? ? ? ? ? ? ? ? [none/?]:
SMTP username? ? ? ? ? ? ? ? ? [root]: gerritxr@163.com
gerritxr@163.com's password? ? :xr123456? ?!我們暫填郵箱密碼,這個密碼無效
? ? ? ? ? ? ? confirm password :xr123456? ?!需要配置smtp授權碼,后面修改
*** Container Process
***
Run as? ? ? ? ? ? ? ? ? ? ? ? [gerrit]:
Java runtime? ? ? ? ? ? ? ? ? [/usr/java/jdk1.8.0_212/jre]:
Copy gerrit-3.0.3.war to review_site/bin/gerrit.war [Y/n]? y
Copying gerrit-3.0.3.war to review_site/bin/gerrit.war
*** SSH Daemon
***
Listen on address? ? ? ? ? ? ? [*]:?
Listen on port? ? ? ? ? ? ? ? [29418]:
Generating SSH host key ... rsa... ed25519... ecdsa 256... ecdsa 384... ecdsa 521... done
*** HTTP Daemon
***
Behind reverse proxy? ? ? ? ? [y/N]? y
Proxy uses SSL (https://)? ? ? [y/N]? n
Subdirectory on proxy server? [/]:
Listen on address? ? ? ? ? ? ? [*]: 192.168.1.110
Listen on port? ? ? ? ? ? ? ? [8081]: 9015
Canonical URL? ? ? ? ? ? ? ? ? [http://192.168.1.110/]:http://192.168.1.110:9010/
*** Cache
***
*** Plugins
***
Installing plugins.
Install plugin codemirror-editor version v3.0.3 [y/N]? y
Installed codemirror-editor v3.0.3
Install plugin commit-message-length-validator version v3.0.3 [y/N]? y
Installed commit-message-length-validator v3.0.3
Install plugin delete-project version v3.0.3 [y/N]? y
Installed delete-project v3.0.3
Install plugin download-commands version v3.0.3 [y/N]? y
Installed download-commands v3.0.3
Install plugin gitiles version v3.0.3 [y/N]? y
Installed gitiles v3.0.3
Install plugin hooks version v3.0.3 [y/N]? y
Installed hooks v3.0.3
Install plugin plugin-manager version v3.0.3 [y/N]? y
Installed plugin-manager v3.0.3
Install plugin replication version v3.0.3 [y/N]? y
Installed replication v3.0.3
Install plugin reviewnotes version v3.0.3 [y/N]? y
Installed reviewnotes v3.0.3
Install plugin singleusergroup version v3.0.3 [y/N]? y
Installed singleusergroup v3.0.3
Install plugin webhooks version v3.0.3 [y/N]? y
Installed webhooks v3.0.3
Initializing plugins.
-----安裝完成
切換到root下再啟動,否則會報錯
[root]#?/home/gerrit/review_site/bin/./gerrit.sh start
安裝完成后直接跳到 6、安裝及配置nginx,配置完成后再接著下面的步驟操作
創建gerrit用戶 "-c"參數為創建,僅限第一次添加用戶時使用,用戶名和密碼均為admin
[gerrit]#?htpasswd -cb ?/home/gerrit/review_site/etc/passwords admin admin
配置完成后訪問192.168.1.110:9010一直報500錯誤,原因是gerrit用戶使用的是root創建,然而home/gerrit用戶只有700的權限,導致其他用戶無法訪問,所以chmod 755 /home/gerrit放開權限就可以了
admin郵箱配置,新建gerritxr@163.com的郵箱,并進行設置
[gerrit]#?vim /home/gerrit/review_site/etc/gerrit.config? ??配置gerrit郵箱服務
[gerrit]#?vim /home/gerrit/review_site/etc/secure.config? ? 配置secure.config,smtpPass為上面在163郵箱新增的授權密碼
[root]#??/home/gerrit/review_site/bin/./gerrit.sh restart? ?重啟gerrit服務
gerrit啟動失敗的問題可以到?/home/gerrit/review_site/logs/error_log文件中查看原因
打開gerrit地址192.168.1.110:9010,登錄admin賬號進行郵箱驗證,在驗證通過后配置完畢。
生成用戶公私鑰并進行配置
1)切換到需要配置公私鑰的用戶,執行生成公私鑰操作
[root]#?su ?gerrit
[gerrit]#?ssh-keygen -t rsa -C gerritxr@163.com ????????//產生公私鑰,公鑰存在/home/gerrit/.shh
[gerrit]#?cat /home/gerrit/.ssh/id_rsa.pub? ? 查看生成的公鑰
使用admin賬號登錄gerrit系統,將生成的公鑰添加到用戶的SSH Public keys
這里插一句,由于我們需要使用gerrit同步gitee上的代碼,所以在gitee倉庫中需要添加一個gerrit賬戶并配置成管理員(gitee賬號自行注冊),并且將本地gerrit用戶的id_rsa.pub 配置到倉庫的公鑰管理中去。
Replication 配置??replication,是 Gerrit 的一個插件,在安裝 Gerrit 時候默認安裝了這個 Plugin,它可以自動地將 Gerrit Code Review 對它所管理的 Git 倉庫創建的任何 changes push 到另外一個系統里。Gerrit 本身提供了兩大功能:一是 Code Review;二是 Git 倉庫。Replication 插件通常用于提供 changes 的鏡像,或熱備份。
[root]#?vim /home/gerrit/review_site/etc/replication.config
[gerrit]#vim /home/gerrit/.ssh/config? ??
設置的~/.ssh/config文件的權限已定要設置成600,不然會報錯:“Bad owner or permissions on .ssh/config“
[root]#?/home/gerrit/review_site/bin/./gerrit.sh restart? 重啟gerrit
創建項目,保證項目名稱和遠程的項目名稱一致。
[root]#??htpasswd -b /home/gerrit/review_site/etc/passwords zhoufu zhoufu? ?在gerrit中創建zhoufu用戶,將創建的項目歸屬到這個用戶
登錄并配置zhoufu用戶的郵箱及shh公鑰到gerrit上
[root]#?ls /usr/gerrit/git
現在我們就需要偷梁換柱,刪除掉創建的xrzs_app.git,然后從遠程倉庫拷貝碼云對應項目的純倉庫下來
[root@localhost git]# rm -rf xrzs_app.git/
[root]#?cd /usr/gerrit
[root@localhost git]# su gerrit
[gerrit]#?git clone --bare git@gitee.com:zhou_fu/xrzs_app.git? ? ?拷貝碼云上的git到gerrit中
接下來就嘗試去下載,因為之前配置zhoufu用戶的ssh公鑰到gerrit,所以我們采用ssh的下載方式。
OK,可以看到我們下載成功
接著就是測試下提交代碼,commit后執行push發現權限不夠,gerrit默認關閉普通用戶直接push master的權限
添加gerrit成員的group:android_dev(開發組)。這里的工作組是為后面給項目配置各種操作權限進行分類
接下來配置xrzs_app項目的權限,常見的權限設置可參考http://www.lxweimin.com/p/d95faa9f8b05,詳細的權限介紹可以在Gerrit鏈接中,找到頂部DOCUMENTATION-ACCESS一欄中查看
最終的權限設置如圖,gerrit默認是沒有權限push的
下面這部分權限是配置codeView,Verfied,Submit權限,分別是打分,核實,提交。
打分只有+2后才可以提交,如果配置了jenkins,則還需要通過jenkins編譯通過后給Verfied+1分才能提交
這里解釋下為什么設置refs/for/*的原因,push命令的格式為:$ git push <遠程主機名> <本地分支名>:<遠程分支名>,我這里是本地提交時的用法,git push??origin dev_1.5.0:refs/for/dev_1.5.0 ,?refs/for 的意義在于我們提交代碼到服務器之后是需要經過code review 之后才能進行merge的,而refs/heads 不需要
提交時遇到的問題,沒有change_id是無法push的,報錯如下
,我們根據提示在項目的根目錄執行,提示命令,意思就是幫我們在提交時默認帶上change_id
按照修改后再次push,OK成功了。這時候可以送審給有權限打分的人,打分合入。
這是打分合入后的樣子,由于配置了replication_config,我們在執行了submit后,gerrit就會幫我們合入到遠程分支上,這樣就可以在碼云上看到我們合入的代碼了
接下來是配置多個項目,修改replication.config文件
[root@localhost git]# vim?/home/gerrit/review_site/etc/replication.config? ? ? ? ?添加新增項目的[remote ...]
[remote "android_xr_app"]
projects = android_xr_app
url = git@gitee.com:xuan_rui/android_xr_app.git
push = +refs/heads/*:refs/heads/*
push = +refs/tags/*:refs/tags/*
push = +refs/changes/*:refs/changes/*
threads = 3
配置完成后,重啟下gerrit
[root]#?/home/gerrit/review_site/bin/./gerrit.sh restart? 重啟gerrit
然后重復第一次的創建項目的操作就行
1、在gerrit服務器上創建項目android_xr_app
2、在碼云上創建android_xr_app的項目
3、刪除gerrit的android_xr_app.git??
??[root]#?rm -rf /home/gerrit/git/android_xr_app.git
4、在?/home/gerrit/git下下載碼云上的git
[root]#??git clone --bare git@gitee.com:zhou_fu/xrzs_app.git
5、配置權限,保持和第一個項目一樣就行
6、在本地下載gerrit的git地址 git clone "ssh://zhoufu@192.168.1.110:29418/android_xr_app"
7、修改并提交,第二個項目還是會出現沒有change-id的提示, 我們還是按照提示在本地項目的目錄中輸入提示的命令即可
8、成功push后,打開gerrit的鏈接,打分合入
9、登錄碼云查看是否同步提交,確認沒有問題
新建分支同步到gerrit和遠程倉庫
1:需要切換到被拉取的分支,并且拉取項目,命令如下:
$git checkout master?
$git pull
2:接著創建一個新分支,并且切換到新的分支:
$git branch newbranch
$git checkout newbranch
3:把本地分支push到遠端:
1$git push origin newbranch
4:拉取遠端分支
$git pull? ?
5:如果報錯這說明,當前分支還沒有和本地分支進行關聯,下面進行關聯
git branch?--set-upstream-to=origin/newbranch
6:再次拉取,完成任務。
$git pull
合并分支gerrit和遠程倉庫,合并的三種方式cherry pick , merge , rebase
如果newbranch上有我們新開發的需求,開發上線后要將newbranch的修改全部合入到master中
1、切換到領先提交的分支
$git checkout newbranch? ? ??
$git pull
2、切換到master
$git checkout master? ? ??
$git pull
3、合并分支
$git git?merge?newbranch? ? ??
6、安裝及配置nginx
[root]#?yum -y install nginx? ?安裝nginx
[root]#?cd /etc/nginx/conf.d? ? ?配置nginx反向代理
[root]#?vim gerrit.conf? 在conf.d中創建并編輯gerrit.conf
添加內容:
server {
?????listen 9010;
?????server_name localhost;
?????auth_basic "Welcomme to Gerrit Code Review Site!";
?????auth_basic_user_file /home/gerrit/review_site/etc/passwords;
?????location / {
?????????proxy_pass ?http://192.168.1.110:9015;
?????????proxy_set_header X-Forwarded-For $remote_addr;
?????????proxy_set_header Host $host;
?????}
}
[root]#?systemctl start nginx??啟動nginx服務
經檢查發現是selinux導致報錯??
[root]#?getenforce #查詢selinux狀態:Enforcing
[root]#?setenforce 0? ? ? ? #臨時將selinux關閉,重啟nginx服務,發現報錯已經解除,如果需要永久關閉selinux,請編輯/etc/selinux/config文件,將SELINUX=disabled。之后將系統重啟一下即可。
[root]#?systemctl enable nginx??加入開機啟動項,完成配置
可在其他機器上輸入192.168.1.110:9010測試nginx是否可用
如果無法訪問的話,請先關閉防火墻
[root]#?firewall-cmd --state? ? ? ? ? ? ? ? ? ? ? ? ? ##查看防火墻狀態,是否是running
[root]#?systemctl stop firewalld.service? ? ? ? ? ? #停止firewall
[root]#?systemctl disable firewalld.service? ? ? ? #禁止firewall開機啟動
注意:配置完成后訪問192.168.1.110:9010一直報500錯誤,原因是gerrit用戶使用的是root創建,然而home/gerrit用戶只有700的權限,導致其他用戶無法訪問,所以chmod 755 /home/gerrit放開權限就可以了
Nginx服務的啟動/停止/刷新配置文件/查看狀態的命令
systemctl start nginx.service?啟動nginx服務?
systemctl stop nginx.service?停止服務
systemctl restart nginx.service?重新啟動服務
systemctl list-units --type=service?查看所有已啟動的服務
systemctl status nginx.service??查看服務當前狀態
systemctl enable nginx.service?設置開機自啟動
systemctl disable nginx.service?停止開機自啟動
查看本地端口命令
ss -ntl
7、Jenkins部署配置
[root]#?useradd jenkins?添加jenkins用戶
[root]#?passwd jenkins123設置jenkins用戶的密碼
創建用戶jenkins?,密碼jenkins123
fffe3609bc0d4371952f7f266d8ed3cf
This may also be found at: /home/jenkins/.jenkins/secrets/initialAdminPassword
下載安裝方式1:
[root]# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
[root]#?rpm --import http://pkg.jenkins.io/redhat-stable/jenkins.io.key
[root]#?yum install -y jenkins
下載安裝方式2:
如果下載很慢并且經常失敗,則通過其他工具到http://pkg.jenkins.io/redhat-stable下選擇最新的版本下載,
或者國內清華的鏡像https://mirrors.tuna.tsinghua.edu.cn/jenkins/將下載好的文件 放到/usr/jenkins目錄下,
我下載的是jenkins-2.235.1-1.1.noarch.rpm?
[root]#?rpm -ivh jenkins-2.235.1-1.1.noarch.rpm? ? 執行安裝命令
安裝完成jenkins后默認端口是8080
[root]#?vim /etc/sysconfig/jenkins? ?可以通過修改JENKINS_PORT修改端口號
[root]#?systemctl enable jenkins? ? ? 開機啟動
[root]#?systemctl start jenkins? ? ? ? ?啟動jenkins
啟動失敗
[root]#?vim /etc/init.d/jenkins? ? 修改jenkins配置中的java路徑,java安裝路徑可以通過java -version查看
[root]#?service jenkins start? ? 再次啟動,成功
打開jenkins首頁看到提示輸入密碼
[root]#? cat /var/lib/jenkins/secrets/initialAdminPassword? ?查看jenkins初始密碼,復制出來后填入就行
安裝默認的插件
根據頁面提示創建管理員賬號jenkins,創建完成后進入jenkins的配置界面
管理員賬號:admin密碼:admin
配置郵件功能 Manage Jenkins - Manage Plugins
配置郵箱服務器進入?Manage Jenkins 找到 jenkins location
郵箱創建及配置參考gerrit的郵箱配置,下面簡單介紹
設置發件人等信息,這里的發件人郵箱地址切記要和系統管理員郵件地址保持一致(當然,也可以設置專門的發件人郵箱,不過不影響使用,根據具體情況設置即可)
配置郵件內容模版
郵箱內容模版(Default Content):自行網絡搜索
設置郵件觸發機制
勾選允許發送給未注冊用戶
配置郵件通知的參數并測試,參照gerrit郵箱的配置就行
smtp認證的賬號:jenkinsxr@163.com? ? 密碼:LPFYFZQSNMXRKEXB
如果測試發送郵件的時候發生403錯誤,可以修改下安全配置,或者使用無痕模式進行測試
上面的幾步完成后,點擊應用,保存即可。
相關插件安裝Gerrit事件觸發器Gerrit Trigger
碼云Gitee這個插件通過偽造Gitee CI服務器將Gitee集成到Jenkins中。這個插件允許Gitee在提交代碼或打開/更新pull請求時觸發Jenkins中的構建。它還可以將構建狀態發送回Gitee。
插件安裝完成后暫不配置,接下來先完成android環境的配置,其實就是android_sdk和gradle環境的配置
[root]# mkdir?/usr/android/android_sdk? ? ? 創建sdk 的下載目錄,之前下載的java和git也在usr目錄下
[root]# cd /usr/android/android_sdk? ??
[root]#?wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip? ? //下載android sdk
[root]#?unzip sdk-tools-linux-4333796.zip? ?//解壓,沒有unzip命令的安裝一個就好了yum install -y unzip zip
解壓后會出現一個tools的文件夾
[root]#?vim /etc/profile? ? ? 配置環境變量
export ANDROID_HOME=/usr/android/android_sdk
export PATH=$PATH:${ANDROID_HOME}/tools/bin
[root]#?source /etc/profile? ?使配置生效
[root]#?sdkmanager --list?查看已安裝信息
[root]#?sdkmanager "build-tools;29.0.3"
[root]#?sdkmanager "platform-tools"
出現了一個警告:Warning: File /root/.android/repositories.cfg could not be loaded.?
說是是在目錄 /root/.android/ 下沒有找到文件repositories.cfg
解決辦法:
使用touch命令在根目錄下新建1一個repositories.cfg文件就可以了
[root]#?touch ~/.android/repositories.cfg
然后執行sdkmanager xxxx就沒問題了。
需要安裝的東西比較多,下面給出清單(這里可以根據自己的項目需要自行安裝,也可以根據編譯過程中的報錯再針對性的安裝):
[root]#?sdkmanager "platform-tools"? ?sdk里面的工具
[root]#?sdkmanager "build-tools;29.0.3" 這個上面已經安裝了,編譯工具
[root]#sdkmanager "platforms;android-28"? ? android版本對應的sdk版本
[root]#sdkmanager "platforms;android-29"? ??android版本對應的sdk版本
查看下安裝后的目錄
接下來把android 的sdk的環境變量去完善
[root]#?vim /etc/profile? ? ? 配置環境變量,在前面android配置的基礎上修改,結果如下
export ANDROID_HOME=/usr/android/android_sdk
export PATH=$PATH:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools
[root]#source /etc/profile? ? 環境變量生效
最后驗證下adb version
接著配置gradle
[root]# mkdir /usr/gradle? ? ? ? ? ? ? ? ? ? ? ? ? ? 創建gradle下載的目錄
[root]# cd /usr/gradle? ? ? ? ? ? ??
下載gradle,這里要注意下載與你項目編譯使用的gradle版本保持一致,否則不能正常編譯
[root]#?wget https://services.gradle.org/distributions/gradle-5.4.1-all.zip
解壓到當前目錄
[root]#?unzip gradle-5.4.1-all.zip
配置環境變量
[root]#?vim /etc/profile
編輯文件最后添加
export GRADLE_HOME=/usr/gradle/gradle-5.4.1
export PATH=$PATH:${GRADLE_HOME}/bin
使配置生效
[root]#?source /etc/profile
[root]#?gradle -version命令查看gradle版本?驗證gradle安裝成功
在jenkins/configure system中配置android全局環境變量
配置全局工具配置項git,jdk,gradle工具的路徑
不知道git的路徑可以通過命令查找
[root]# whereis git
配置完成如下圖