在云服务器上基于docker安装jenkins的实现步骤

 更新时间:2022年07月12日 16:45:28   作者:首飞爱玩机器人  
本文主要介绍了在云服务器上基于docker安装jenkins的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

jenkins是老牌的CI/CD工具。下面记录一下在云服务器上的安装过程。

基于docker安装jenkins 

下面记录了如何在云服务器上安装jenkins

新建一个jenkins_docker文件夹,在文件夹里新建一个data文件夹。并给data文件夹读写权限。

chmod -R a+w data/

新建一个docker-compose.yml文件。添加下面的内容:

version: "3.1"
services:
  jenkins:
    image: jenkins/jenkins:2.332.3-lts
    container_name: jenkins
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - ./data/:/var/jenkins_home/

注意,这里是将data目录映射到了docker环境里。

启动jenkins容器

在文件夹内运行

docker-compose up -d

停止jenkins容器

docker-compose down

更改jenkins插件下载源

打开./data/hudson.model.UpdateCenter.xml,替换下面的的内容。

# 修改数据卷中的hudson.model.UpdateCenter.xml文件
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://updates.jenkins.io/update-center.json</url>
  </site>
</sites>

# 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
  </site>
</sites>

# 清华大学的插件源也可以
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

查看运行log

docker logs -f jenkins

可以看到登录密钥

在浏览器中访问主机ip:8080就可以看到jenkins的登录页面。

设置jenkins的反向代理

总是用云服务器的公网IP加端口号去访问jenkins,有些不方便了。我们可以使用nginx的方向代理来对应一个域名。当然域名得先买一个了。

ubuntu20安装nginx (云服务器里安装的ubuntu20.04)

sudo apt update
sudo apt install nginx

安装好后nginx会自动启动,可以用下面的命令查询nginx的状态

sudo systemctl status nginx

这时直接用浏览器访问服务器IP就可以看到nginx的欢迎界面了。

修改nginx的配置文件/etc/nginx/nginx.conf。在http下添加下面的内容。注意这里监听的端口是8080。

server {
        listen       8080;
        server_name  jenkins.example.cn;[此处填写域名,可以加上jenkins以做区别]
        client_max_body_size 200M;
        location / {
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass    http://xx.xx.xx.xx:xxx;  #设置ip和端口
        }
        location ~ .*\.(js|css|png)$ {
                proxy_pass  http://xx.xx.xx.xx:xxx;  #设置ip和端口
        }
}

记得在云服务器里放行相应的端口号。

设置域名解析

在购买域名后就可以使用DNSPod工具设置域名解析了。

这里设置的jenkins是域名的前缀,可以以此来区分不同的服务。记录值中填写服务器的公网IP。

OK完事。这时就可以在浏览器中用jenkins.域名访问jenkins服务了。

Jenkins中文网址:https://www.jenkins.io/zh/

到此这篇关于在云服务器上基于docker安装jenkins的实现步骤的文章就介绍到这了,更多相关docker安装jenkins内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决Docker必须使用sudo操作的问题

    解决Docker必须使用sudo操作的问题

    这篇文章主要介绍了解决Docker必须使用sudo操作的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 浅谈Windows平台上Docker安装与使用

    浅谈Windows平台上Docker安装与使用

    本篇文章主要介绍了浅谈Windows平台上Docker安装与使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 详细讲解Docker虚拟化

    详细讲解Docker虚拟化

    本文详细讲解了Docker的虚拟化,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • docker安装使用系列之交叉编译详解

    docker安装使用系列之交叉编译详解

    在x86平台上使用Docker实现跨平台编译ARM端程序,需要安装Docker,拉取包含ARM工具链的镜像,启动QEMU支持,并使用相应的Dockerfile进行构建,构建完成后,可以运行并测试ARM程序,导出所需文件,若在ARM平台运行x86镜像,需使用Rosetta2等工具
    2024-10-10
  • Docker + Nodejs + Kafka + Redis + MySQL搭建简单秒杀环境

    Docker + Nodejs + Kafka + Redis + MySQL搭建简单秒杀环境

    本文给大家分享的是使用Docker + Nodejs + Kafka + Redis + MySQL模拟搭建起来的商品秒杀环境,非常的实用和热门,有需要的小伙伴可以参考下
    2017-01-01
  • 在vscode中使用ssh运行docker:从下载到运行全流程

    在vscode中使用ssh运行docker:从下载到运行全流程

    首先在本机或者服务器上下载docker并运行,本文目的旨在本机下载docker并打包,然后在服务器上进行加载,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-08-08
  • docker打包golang应用的过程分析

    docker打包golang应用的过程分析

    这篇文章主要介绍了docker打包golang应用的过程分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • docker部署Nestjs的简单配置实现

    docker部署Nestjs的简单配置实现

    使用Docker部署NestJS应用程序可以确保在不同的环境中运行一致,并且避免了由于依赖关系或配置问题导致的部署错误,本文主要介绍了docker来部署Nestjs的简单配置,感兴趣的可以了解一下
    2024-02-02
  • Docker Compose一键ELK部署的方法实现

    Docker Compose一键ELK部署的方法实现

    这篇文章主要介绍了Docker Compose一键ELK部署的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Docker容器中Mysql数据的导入/导出详解

    Docker容器中Mysql数据的导入/导出详解

    服务器在使用了 Docker 后,对于备份和恢复数据库的事情做下记录,下面这篇文章主要给大家介绍了Docker容器中Mysql数据导入/导出的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09

最新评论