Docker安装部署jenkins

Dcoker安装部署jenkins

1.拉取镜像

docker pull jenkins/jenkins:lts-jdk17

在这里插入图片描述

2.启动jenkins容器

docker run -d -p 8082:8080 -p 50000:50000 -v /usr/docker/jenkins_data:/var/jenkins_home  -v /etc/localtime:/etc/localtime -v /usr/bin/docker:/usr/bin/docker     -v /var/run/docker.sock:/var/run/docker.sock   --restart=on-failure  -u 0 --name myjenkins jenkins/jenkins:lts-jdk17

在这里插入图片描述

3.查看是否启用成功

在这里插入图片描述

4.查看日志获取密码

docker logs myjenkins

在这里插入图片描述

5.浏览器输入:http:127.0.0.1:8082

  • 8082是主机映射到容器8080的端口,如果你使用的是其他端口,那么需要换成其他端口
    在这里插入图片描述

  • 密码:在这里插入图片描述

  • 安装插件,根据自己需要,可选直接安装推荐的插件

6.Docker安装git

1.搜索git

docker search gitlab

2.拉取镜像源

docker pull twang2218/gitlab-ce-zh

在这里插入图片描述

3.启动git容器

docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab --privileged=true twang2218/gitlab-ce-zh

在这里插入图片描述
4.配置gitlab

docker exec -it gitlab bash

在这里插入图片描述

cd /etc/gitlab
vim gitlab.rb    #编辑gitlab.rb文件

5.在gitlab创建项目时候http地址的host(可以不添加端口)

external_url 'http://xx.xx.xx.xx'

在这里插入图片描述

6.配置gitlab.yml文件

  • 进入config配置目录
cd /opt/gitlab/embedded/service/gitlab-rails/config
  • 打开编辑gitlab.yml文件
vim gitlab.yml

在这里插入图片描述

  • 修改host和port
  • host:为第5步设置的post
  • port:8090
  • 保存退出

7.重启服务

gitlab-ctl restart 或者 docker restart gitlab

在这里插入图片描述

8.浏览器访问http://192.168.1.146:8090
在这里插入图片描述

  • 设置新密码
  • 返回后,账号:root ;密码:设置的新密码
    在这里插入图片描述

7.开始部署

1.创建用户
在这里插入图片描述

2.安装其它插件,如allure等

3.配置git和allure

4.配置邮箱
在这里插入图片描述

5.输入邮箱账户和密码(密码是邮箱授权码)

在这里插入图片描述

6.新建项目
在这里插入图片描述

7.新建项目后,先执行一次立即构建,会出现工作空间(此类情况适用于项目在本地)

在这里插入图片描述

8.在自己安装的Jenkins目录下,找到workspace,把整个要运行的项目全部拷贝过来

8.配置git仓库

1.配置git地址
在这里插入图片描述

2.添加git凭证,填写自己git的账号和密码,保存
在这里插入图片描述

3.重新勾选凭证
在这里插入图片描述

4.在自己电脑任意盘中创建一个自己命名的文件夹,如testone
5.将自己自动化的requirements.txt放入testone文件夹
6.创建一个空的文件Dockerfile(必须是此名称)
7.在改文件中写入以下命令,下面的第二行lucia,自行命名,保存

FROM python:3.7.4
MAINTAINER lucia
WORKDIR /app
ADD ./requirements.txt /app
RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
CMD ["python3", "start_all.py"]

8.电脑命令行切换到刚刚创建的testone文件夹下面

D:
cd testone

在这里插入图片描述
9.镜像构建

docker build -t python3.7:lucia .

在这里插入图片描述

10.查看是否构建成功

docker images

在这里插入图片描述

11.继续配置
在这里插入图片描述

echo "运行容器python自动化"
docker run --rm -w=$WORKSPACE --volumes-from=myjenkis python3.7:lucia
echo "python执行自动化成功"

其中的myjenkins为自己的容器名称(自行替换)
在这里插入图片描述

12.选择报告形式
在这里插入图片描述

13.保存

如果jenkins报错无法检测或者连接到git仓库,可采用以下方法

9.直接在docker的jenkins容器中执行

1.查看docker运行容器,找到自己的Jenkins名称

docker ps

在这里插入图片描述

2.进入容器shell

docker exec -it myjenkins bash

在这里插入图片描述

3.在容器内执行,切换到工作目录

cd /var/jenkins_home/workspace/

4.查看目录下构建的项目,切换到指定项目,清理工作区

rm -rf * .git

在这里插入图片描述

5.git clone https:xxxxx .(git项目地址)

注意:项目地址后,空格,有一个 .

在这里插入图片描述

6.查看jenkins的workspace
在这里插入图片描述

7.配置相关信息,保存,运行

### Docker环境下离线部署Jenkins及离线安装插件的方法 #### 1. 创建挂载文件夹并准备所需资源 为了实现Docker环境中Jenkins的离线部署,首先需要在宿主机上创建用于存储Jenkins数据的目录。此操作可以通过以下命令完成: ```bash mkdir -p /workspace/jenkins_home/plugins ``` 该路径将被映射到容器内的`/var/jenkins_home`目录[^1]。 随后,在本地准备好所需的Jenkins镜像和插件文件(`.hpi` 或 `.jpi`)。这些文件可以从有网络连接的机器下载,并通过USB或其他介质传输至目标服务器。 --- #### 2. 使用自定义镜像或预加载插件的方式构建环境 如果无法直接联网获取最新版本的Jenkins及其插件,则可以预先制作一个包含所有必要组件的定制化Docker镜像。具体步骤如下: - **拉取基础镜像** 在具备互联网接入能力的地方执行以下指令来保存官方发布的LTS版Jenkins镜像: ```bash docker pull jenkins/jenkins:lts ``` - **导出镜像为tar包** 将上述镜像转换成可移植格式以便后续导入无网区域使用: ```bash docker save -o jenkins-lts.tar jenkins/jenkins:lts ``` - **导入镜像到目标设备** 到达目标节点之后再利用下面这条语句恢复刚才备份下来的资料: ```bash docker load < jenkins-lts.tar ``` 以上过程确保即使处于完全隔离状态也能正常运行指定版本的服务实例[^4]。 --- #### 3. 启动容器时指定端口映射与卷绑定参数 当一切准备工作就绪后就可以正式开启一个新的会话来进行实际测试验证工作了: ```bash docker run --name my-jenkins \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v /workspace/jenkins_home:/var/jenkins_home \ custom_jenkins_image_tag ``` 这里需要注意的是,我们额外增加了一个持久化的共享空间用来存放配置信息以及其他相关内容以防意外丢失造成不便影响正常使用体验效果[^2]。 --- #### 4. 处理插件安装中的常见问题 针对某些特殊场景下可能出现的兼容性冲突或者缺失情况给出了相应的解决方案建议: - 如果发现部分功能模块因为版本差异而失效的话,那么就需要手动调整直至找到最适合当前系统的组合搭配方案为止; - 对于那些根本不存在对应替代品的情形而言,则只能尝试联系开发者寻求帮助解决办法或者是考虑升级整个平台架构体系结构从而获得更好的支持保障机制[^3]。 最终目的是让整套流程更加顺畅高效的同时也极大程度降低了维护成本和技术门槛要求。 --- ### 总结 综上所述,通过合理规划前期准备工作以及灵活运用各种工具手段完全可以克服因缺乏外部资源供给所带来的种种挑战困难局面,成功搭建起一套稳定可靠的CI/CD流水线作业框架模型出来供内部团队成员共同协作开发项目产品之用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值