通过docker安装jenkins自动化部署

一、安装jenkins


Jenkins官网:https://www.jenkins.io/zh/
 

手动拉取镜像

有时候直接运行docker run会出现问题,你可以尝试手动拉取镜像:

docker pull jenkinsci/blueocean

如果拉取成功,再运行docker run命令:

docker run --name jenkins -u root --rm -d -p 8081:8081 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean

对网络有要求。

手动下载Jenkins:

下载链接:War Jenkins Packages

下载指定版本的jenkins.war压缩包。

1、下载完成后将压缩包放入指定的目录,此处为:/var/jenkins_home

2、 创建Dockerfile 文件

# 使用官方的OpenJDK基础镜像
FROM openjdk:11-jdk

# 维护者信息
LABEL maintainer="2219747239@qq.com"

# 设置环境变量
ENV JENKINS_HOME /var/jenkins_home
ENV JENKINS_VERSION latest
ENV JENKINS_WAR /var/jenkins_home/jenkins.war
ENV MAVEN_VERSION 3.9.5
ENV MAVEN_HOME /opt/maven

# 创建Jenkins home目录并设置权限
RUN mkdir -p $JENKINS_HOME && \
    chown -R 1000:1000 $JENKINS_HOME

# 将提前下载好的Jenkins WAR包添加到镜像中
ADD jenkins.war $JENKINS_WAR

# 替换为阿里云的Debian镜像源
RUN sed -i 's/http:\/\/deb.debian.org\/debian/http:\/\/mirrors.aliyun.com\/debian/g' /etc/apt/sources.list && \
    sed -i 's/http:\/\/security.debian.org\/debian-security/http:\/\/mirrors.aliyun.com\/debian-security/g' /etc/apt/sources.list

# 安装依赖包
RUN apt-get update && apt-get install -y wget curl gnupg2

# 安装Maven
RUN wget https://apache.osuosl.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz && \
    tar -zxvf apache-maven-$MAVEN_VERSION-bin.tar.gz -C /opt && \
    ln -s /opt/apache-maven-$MAVEN_VERSION /opt/maven && \
    ln -s /opt/maven/bin/mvn /usr/bin/mvn && \
    rm apache-maven-$MAVEN_VERSION-bin.tar.gz

# 安装Node.js
RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - && \
    apt-get install -y nodejs build-essential

# 清理临时文件
RUN apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# 设置工作目录
WORKDIR $JENKINS_HOME

# 暴露Jenkins默认端口
EXPOSE 8080

# 运行Jenkins
CMD ["java", "-jar", "/var/jenkins_home/jenkins.war"]

确保你的jenkins.war文件与Dockerfile位于同一目录下。

3、 构建Docker镜像
在终端中导航到包含Dockerfile和jenkins.war的目录,然后运行以下命令构建Docker镜像:

docker build -t custom-jenkins .

4、运行Docker容器

构建完成后,运行以下命令启动Jenkins容器:

docker run --name myJenkins -p 8001:8080 -p 8086:8086 -p 8088:8088 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home my-jenkins 

提示:忘记 初始管理员密码 如何查询:

1、进去jenkins容器。

docker exec -it jenkins bash


2、访问文件 /var/jenkins_home/secrets/initialAdminPassword
 

cat /var/jenkins_home/secrets/initialAdminPassword

eg:

二、设置jenkins

根据Dockerfile 配置文件中的地址找到maven的安装位置修改maven程序的settings.xml文件 为 国内镜像地址

echo '<settings><mirrors><mirror><id>aliyun</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/central</url></mirror></mirrors></settings>' > /opt/apache-maven-3.9.5/conf/settings.xml

访问一下Jenkins:http:${自己部署Jenkins的服务器的地址}:8080。eg:http://47.122.6.40:8081/

 


然后,我们就可以看到Jenkins了,现在需要对Jenkins进行解锁。

选择第一项“安装推荐插件”即可
 


创建管理账户,这个账户一定要自己记得哦~

1、安装插件

进入【首页】–【系统管理】–【插件管理】–【可选插件】。搜索以下需要安装的插件,点击安装即可。


一共需要安装三个插件:

  • 安装 Maven Integration
  • 安装 Publish Over SSH(如果不需要远程推送,不用安装)
  • 如果使用 Gitee 码云,安装插件Gitee(这里我们使用gitee)
     

配置 Maven

进入【首页】–【系统管理】–【全局工具配置】,拉到页面最下方 maven–maven 安装。
 


 

配置 JDK

使用容器方式安装的 Jenkins,容器内已经默认安装好 JDK 了,如下所示:

查看版本: java -version
 
查看地址: echo $JAVA_HOME

当前页面不变添加jenkins容器中的Jdk环境地址:
 


 

创建任务
1、新建任务

回到首页点击新建任务,输入一个任务名称,然后点击构建一个自由风格的软件项目:


 

2、源码管理和添加凭证
配置项目自动化、持久化构建

首先我们在gitee中拿到仓库的地址
 



 

配置项目在Jenkins上运行脚本:

配置构建触发器

clean install -Dmaven.test.skip=true

配置、编写项目启动的shell脚本:

获取自己的maven 和 jdk的地址按照下述脚本地址对应修改

export JAVA_HOME=/usr/local/openjdk-11
export M2_HOME=/opt/apache-maven-3.9.5
export PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH
mvn install -DskipTests
export JAVA_HOME=/usr/local/openjdk-11
export M2_HOME=/opt/apache-maven-3.9.5
export PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH
cd /var/jenkins_home/workspace/junzhi/ruoyi-admin
mvn spring-boot:run

尝试启动项目。

  • 34
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值