Jenkins初探之Jenkins部署运行
Jenkins部署运行
这里采用java -jar方式直接运行jenkins.war
注意ubuntu系统环境下需要先安装依赖
sudo apt-get install libgtk-3-0 libcanberra-gtk-module libcanberra-gtk3-module
-
运行
java -jar jenkins.war
注意:新版的jenkins需要java11以上环境运行,我这里是java17 -
访问配置
-
http://localhost:8080/
-
根据提示找到初始密码
-
安装推荐插件
-
创建管理员
-
开始使用
-
安装插件
-
1、gitLab(代码管理)
配置Java编译相关环境
- 配置Jdk
- 配置Maven
- 配置git
安裝Docker
使用国内镜像安装 Docker
-
1、更新系统包列表:
sudo apt-get update
-
2、安装依赖:
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
-
3、添加阿里云 Docker 的 GPG 密钥:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
-
4、添加阿里云 Docker 的 APT 源:
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
-
5、更新系统包列表:
sudo apt-get update
-
6、安装 Docker:
sudo apt-get install -y docker-ce
-
7、动 Docker 并设置为开机自启
sudo systemctl start docker sudo systemctl enable docker
配置Docker国内源
-
编辑 Docker 配置文件:
vim /etc/docker/daemon.json
-
添加配置内容(暂时可用):
{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io", "https://dockerhub.timeweb.cloud" ] }
-
保存并关闭文件(在
nano
中使用Ctrl + X
然后按Y
确认)。 -
重启Docker:
sudo systemctl restart docker
-
验证配置是否生效:
docker info
pipeline脚本
pipeline {
agent any
stages {
stage('Checkout') {
steps {
// 从版本控制系统检出代码
git 'https://gitee.com/qiliping/jinkens-test.git'
}
}
stage('Build') {
steps {
// 使用Maven构建项目
sh 'mvn clean package'
}
}
stage('Test') {
steps {
// 运行单元测试
sh 'mvn test'
}
}
stage('Build Docker Image') {
steps {
// 构建Docker镜像
script {
def appName = 'demo1'
def version = '0.0.1'
sh "docker build -t ${appName}-${version} ."
}
}
}
stage('Run Docker Container') {
steps {
// 运行Docker容器
script {
def appName = 'demo1'
def version = '0.0.1'
// 根据需要,可以指定端口映射和其他参数
sh "docker run -d --name ${appName}-${version} -p 89:8089 ${appName}-${version}"
}
}
}
}
post {
success {
// 构建成功后的操作
echo 'Build, test, and deployment to Docker successful!'
}
failure {
// 构建失败后的操作
echo 'Build or deployment failed.'
}
}
}
今天先分享到这里,后面继续分享docker管理器portainer