Jenkins的环境部署

day22

回顾

Jenkins

简介

官网Jenkins

Jenkins Build great things at any scale

The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.

用来构建一切

其实就是用Java写的一个项目,最后打包为一个war包,执行这个war包就可以运行起来了

但是官网最新的war包要求必须是jdk17以上(17,21)

复制代码
[root@work day22]# java -jar jenkins.war 
Running with Java 11 from /usr/lib/jvm/java-11-openjdk-11.0.25.0.9-2.el9.x86_64, which is older than the minimum required version (Java 17).
Supported Java versions are: [17, 21]

所以我们用docker来搭建

环境搭建

使用docker搭建jenkinsDownload and deploy

  1. 部署网络环境

    复制代码
    docker network create jenkins
  2. 执行docker运行命令

    复制代码
    docker run --name jenkins-docker --rm --detach \
      --privileged --network jenkins --network-alias docker \
      --env DOCKER_TLS_CERTDIR=/certs \
      --volume jenkins-docker-certs:/certs/client \
      --volume jenkins-data:/var/jenkins_home \
      --publish 2376:2376 \
      docker:dind --storage-driver overlay2
  3. 新建Dockerfile文件

    复制代码
    FROM jenkins/jenkins:2.479.1-jdk17
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
      https://download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$(dpkg --print-architecture) \
      signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
      https://download.docker.com/linux/debian \
      $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"

    官方给的是这个jenkins/jenkins:2.479.1-jdk17,从这里也可以看出来,这个jenkins用的jdk是17的版本。这也就是我为什么用docker,而不用单纯的war包方式了。但是这个镜像有问题,我做了修改jenkins/jenkins:latest

    复制代码
    FROM jenkins/jenkins:latest
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
      https://download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$(dpkg --print-architecture) \
      signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
      https://download.docker.com/linux/debian \
      $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"

    在这之前,可以先拉取一下这个镜像

    复制代码
    docker pull jenkins/jenkins:latest
  4. 用上面的Dockerfile文件制作镜像

    复制代码
    docker build -t myjenkins-blueocean:2.479.1-1 .
  5. 检查制作好的镜像

  6. 运行我们制作好的镜像

    复制代码
    docker run --name jenkins-blueocean --restart=on-failure --detach \
      --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
      --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
      --publish 8080:8080 --publish 50000:50000 \
      --volume jenkins-data:/var/jenkins_home \
      --volume jenkins-docker-certs:/certs/client:ro \
      myjenkins-blueocean:2.479.1-1
  7. 浏览器访问运行8080端口,到这个登录页面至此jenkins安装部署完成

jenkins使用

第一次登录jenkins这个页面(如上图),我们发现是需要密码的,并且页面上提示我们登录密码的位置在这里/var/jenkins_home/secrets/initialAdminPassword

我们需要执行命令得到jenkins的密码

复制代码
docker exec Jenkins的容器id cat /var/jenkins_home/secrets/initialAdminPassword
复制代码
[root@work ~]# docker exec 6627 cat /var/jenkins_home/secrets/initialAdminPassword
0d11bde19338473ead2da58dc1a6fe86

在以上的登录页面中输入刚刚得到的密码,就可以进入jenkins页面了。

相关推荐
小宋102135 分钟前
不用学算法也能玩转 AI?普通 Java 程序员转 AI 应用开发路线
java·人工智能·重构
我是唐青枫1 小时前
Java Jetty 实战详解:从嵌入式 HTTP 服务到 Spring Boot 容器替换
java
带刺的坐椅1 小时前
当所有人都在用 TS/Python 写 Agent,我们为什么坚持 Java
java·ai·solon·codex·opencode·soloncode
小王师傅661 小时前
英语学习记
java·学习
早点睡啊Y2 小时前
深入学LangChain官方文档:Observability 与 Studio——先看清 Agent 到底做了什么
java·数据库·langchain
雨落在了我的手上2 小时前
Java数据结构(六):链表的介绍
java·开发语言·数据结构
Jerry小杰2 小时前
运维神器|单端口搞定多台内网SSH!frp端口复用终极教程
运维·ssh
独隅2 小时前
DevEco Code Plan+Build 双 Agent 协同开发效率实测
java·开发语言
Python私教2 小时前
Blender模型导入Godot完整教程:GLB、BLEND与继承场景怎么选
运维·godot·blender
AOwhisky3 小时前
Linux(CentOS)系统管理入门笔记(第十二期)——系统管理工具与软件包管理(上篇):Cockpit 与 RPM 包管理
linux·运维·笔记·centos·云计算