Jenkins搭建git+maven+docker实现java项目自动化部署

Jenkins初探之Jenkins部署运行

Jenkins部署运行

这里采用java -jar方式直接运行jenkins.war

注意ubuntu系统环境下需要先安装依赖
sudo apt-get install libgtk-3-0 libcanberra-gtk-module libcanberra-gtk3-module

  • 下载
    https://get.jenkins.io/war-stable/2.462.2/jenkins.war

  • 运行 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、安装 Dockersudo 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老齐谈电商

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值