一、安装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
尝试启动项目。