首页 > 系统相关 >ubuntu 下 docker 中部署 jenkins,并配置安卓 python 开发环境

ubuntu 下 docker 中部署 jenkins,并配置安卓 python 开发环境

时间:2023-12-11 18:44:21浏览次数:41  
标签:get python 安卓 dev apt install ubuntu jenkins docker

1、ubuntu中下载Android Sdk

# 安装 unzip 工具
sudo apt update
sudo apt install unzip

# 下载 Android SDK
wget https://dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip

# 解压
unzip commandlinetools-linux-7302050_latest.zip -d android-sdk

# 移动到合适的目录
sudo mv android-sdk /data/dev/

# 设置环境变量
export ANDROID_HOME=/data/dev/android-sdk
export PATH=$PATH:$ANDROID_HOME/tools/bin

 

2、ubuntu中安装docker

wget -qO- https://get.docker.com/ | sh
service docker star

 

 

3、启动docker jenkins

创建jenkins文件夹

mkdir jenkins
cd jenkins

vim docker-compose.yml 

version: "3.7"
services: # 集合
  jenkins:
    user: root # 为了避免一些权限问题 在这我使用了root
    restart: always # 重启方式
    image: jenkins/jenkins:lts # 指定服务所使用的镜像 在这里我选择了 LTS (长期支持)
    container_name: jenkins # 容器名称
    ports: # 对外暴露的端口定义
      - "8081:8080" # 访问Jenkins服务端口
    environment:
      TZ: Asia/Shanghai
    volumes: # 卷挂载路径
      - jenkins/jenkins_home:/var/jenkins_home
      - /data/dev:/data/dev # android/java开发环境目录
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker # 这是为了我们可以在容器内使用docker命令
      - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose

 qw 保存后,执行命令启动 jenkins

sudo docker-compose up -d

 

4、进入docker 中的 jenkins,配置python环境

docker exec -it -uroot  jenkins  bash
apt-get update
apt-get install wget

apt install python3
apt install python3-pip


# 或者

cd /var/jenkins_home/
mkdir python3
cd python3/

#下载python3安装包
wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
tar -xvf Python-3.7.6.tgz 
cd Python-3.7.6

./configure --prefix=/var/jenkins_home/python3 

#安装缺少的gcc相关依赖包
apt-get -y install gcc automake autoconf libtool make
apt-get -y install make*
apt-get -y install zlib*
apt-get -y install openssl libssl-dev
apt-get install sudo

#python3.7以上版本在make install缺少—ctype依赖包
sudo apt-get update
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
sudo apt-get install libxpm-dev libxext-dev 
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev

#make编译安装
./configure --prefix=/var/jenkins_home/python3 --with-ssl
make
make install

#设置软连接
ln -sf /var/jenkins_home/python3/bin/python3.7 /usr/bin/python3
ln -sf /var/jenkins_home/python3/bin/pip3  /usr/bin/pip3
python3 --version
pip3 --version

#若权限不足, 为容器用户设置权限, 路径为挂载路径
chmod -R 1000 /root/jenkins_home

 

5、打开jenkins,创建编译任务

5.1 获取 admin 密码

# 在ubuntu中获取密码
cat jenkins/jenkins_home/secret.key

# 在docker jenkins中获取密码
docker exec -it jenkins bash #docker exec -it -uroot jenkins bash cat /var/jenkins_home/secrets/initialAdminPassword

5.2 在浏览器中打开 http://localhost:8081/ 并输入5.1中拿到的密码

5.3 配置安卓环境变量 http://localhost:8081/manage/configure

 

ANDROID_HOME
/data/dev/android-sdk

FLUTTER_PATH
/data/dev/flutter/bin


ANDROID_PATH
$ANDROID_HOME/build-tools/34.0.0:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin

PATH
$PATH:$ANDROID_PATH:$FLUTTER_PATH:

5.4创建jenkins编译任务

可以在下面的目录中看到所有的任务

 jenkins/jenkins_home/workspace/

 

参考文档:

https://zhuanlan.zhihu.com/p/635528937

 

标签:get,python,安卓,dev,apt,install,ubuntu,jenkins,docker
From: https://www.cnblogs.com/larack/p/17895125.html

相关文章

  • Python编译升级3.7.x
    CentOS7自带的Python为3.6.x,但因项目需要,要升级到3.7.x,记录遇到的一些问题。Python3.7.x需要先升级OpenSSL到1.1.x后的版本,否则会报下面的错误WARNING:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.1.Ope......
  • Ubuntu开启NTP时间同步
    Ubuntu使用timesyncd开启NTP时间同步,并替换为ntpd步进式的逐渐校正时间。环境为Ubuntu22.04LTS时区在Ubuntu20.04及之后的版本中,内置了时间同步功能,并且默认使用systemd的timesyncd服务来激活。timesyncd替代了老旧的ntpdate的功能。检查当前时区命令:timedatectl......
  • Ubuntu 22设置静态IP
    打开终端,以管理员身份运行以下命令以编辑网络配置文件:sudonano/etc/netplan/00-installer-config.yaml在打开的文件中,找到类似于以下内容的部分:network:ethernets:enp0s3:dhcp4:trueversion:2将dhcp4:true修改为dhcp4:false,然后添加以下内容以设置静......
  • 装完Ubuntu后默认root用户的密码是多少?如何修改root密码
    1、Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码。可以在终端输入命令:sudopasswd然后输入当前用户的密码。2、终端会提示输入新的密码并确认,此时的密码就是root新密码。修改成功后,输入命令:suroot再输入新的密码就ok了。......
  • Python爬虫获取校园课表(强制系统举例)
    Http:超文本传输协议Https:安全的http首先引入request库:pipinstallrequests 先F12打开页面检查,在network(网络)里面,然后刷新页面,会发先有个请求文档,点击并观察它:在常规里面可以看到请求地址为https://www.paisi.edu.cn:8181/jsxsd/?tdsourcetag=s_pcqq_aiomsg,将它复制到......
  • Ubuntu20.04 PostgreSQL 14 安装配置记录
    PostgreSQL名称来源ItwasoriginallynamedPOSTGRES,referringtoitsoriginsasasuccessortotheIngresdatabasedevelopedattheUniversityofCalifornia,Berkeley.In1996,theprojectwasrenamedtoPostgreSQLtoreflectitssupportforSQL.PostgreSQL......
  • Python_Gui_tkinker学习笔记
    #-*-coding:utf-8-*-importtkinterastk创建主窗口#调用Tk()创建主窗口root_window=tk.Tk()窗口名字#给主窗口起一个名字,也就是窗口的名字root_window.title('C语言中文网:c.biancheng.net')打开窗口#开启主循环,让窗口处于显示状态root_window.mainloop()创......
  • 安卓读写文件的方法以及优劣分析
    文章摘要在Android开发中,数据的存储和读取是应用程序中常见的操作之一。本文将详细介绍Android中读写文件的方法,并对其优劣进行分析。同时,将附上相应的实现代码,以便读者更好地理解。正文使用Java的IO流在Android中,我们可以使用Java的文件IO类来读取和写入本地文件系统......
  • Python和C++之间
    编程语言编程语言创造来都是为了解决实际问题的了解一门第二,甚至第三语言。因为只有你了解了不同工具的特性,以及它们擅长解决的问题,你才能更高效地在日常工作中运用它们。为问题选择正确的语言/工具/解决方案,将能大大减少解决问题所需的工作量训练你习惯跳出一种语言或范式的......
  • Python函数
    【一】函数的定义和使用函数可以提高代码可读性方便维护函数的使用必须遵循’先定义,后调用’的原则。函数的定义就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是对这段代码的引用,这和变量的定义是相似的。没有事先定义函数而直接调用,就相当于......