您的位置 首页 kubesphere

第二步: 项目编译 + 构建镜像

第二步: 项目编译

1) 改名为 项目编译

然后把系统自带的步骤删除。

2) 添加容器

然后呢,我们增加 一个 嵌套步骤, ls

看看我们代码是什么样的。

之前我们 常规的  maven 打包的命令

mvn clean package '-Dmaven.test.skip=true'

有时候不被识别,可以加单引号来测试一下。

没问题,我们用 流水线来测试,这样拍错就容易了。

3)添加  mvn 打包命令

mvn clean package '-Dmaven.test.skip=true'

 

点击运行,看看效果。

 

设置maven 加速仓库

kubesphere 设置maven 加速仓库 : 连接

 

第3步: 构建镜像

https://kubesphere.io/zh/learn/level_4/lesson_40/video/

先 修改 名称- 构建镜像

1) 指定容器 

用docker 命令, 优先使用maven

2) 添加步骤

我们先来验证一下 项目里的有没有我们上一步打包好的文件

 

ls hospital-manage

 

 

因为有很多微服务都要构建镜像,我们可以在构建镜像中添加 并行阶段。

我们先跑通一个,hospital-manage  测试一下,

添加 嵌套 shell

docker 命令

docker build -t  hospital-manage:v1  -f  hospital-manage/Dockerfile  hospital-manage/

 

镜像名,  dockerfile 所在的目录, + 工作目录。

然后运行,

 

有的打包工具不存在 的可以添加一下pom

    <build>
        <finalName>hospital-manage</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

 

 

然后我们添加并行阶段。添加其他的微服务的镜像构建

idea jenkinsfile 文件 (管理设置)

 

编辑好之后,再复制到 k8s界面

 

 

4) 推送到镜像仓库

 

需要登录到仓库,docker login

docker tag  $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:latest 

 

添加阿里云镜像仓库 凭证

 

DOCKER_PWD_VAR
DOCKER_USER_VAR

 

这里我们要在添加一个 阿里云 容器仓库的凭证 ,才能使用,

 

添加完后,我们进入 jenkins代码中, 配置一下。

 

主要是 添加 一下 登录 命令

sh 'echo "$DOCKER_PWD_VAR" | docker login $REGISTRY -u "$DOCKER_USER_VAR --password-stdin'

 

推送镜像的代码:

    stage('推送镜像') {
      agent none
      steps {
        container('maven') {
          withCredentials([usernamePassword(credentialsId : 'aliyun1' ,passwordVariable : 'DOCKER_PWD_VAR' ,usernameVariable : 'DOCKER_USER_VAR' ,)]) {
            sh 'ls'
            sh 'echo "$DOCKER_PWD_VAR" | docker login $REGISTRY -u "$DOCKER_USER_VAR" --password-stdin'
            sh 'docker tag hospital-manage:latest $REGISTRY/$DOCKERHUB_NAMESPACE/hospital-manage:SNAPSHOT-$BUILD_NUMBER'
            sh 'docker push  $REGISTRY/$DOCKERHUB_NAMESPACE/hospital-manage:SNAPSHOT-$BUILD_NUMBER'
          }

        }

      }
    }

 

环境变量代码: 在jenkinsfile 最后位置

  environment {
    DOCKER_CREDENTIAL_ID = 'dockerhub-id'
    GITHUB_CREDENTIAL_ID = 'github-id'
    KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
    REGISTRY = 'registry.cn-hangzhou.aliyuncs.com'
    DOCKERHUB_NAMESPACE = 'baimeidashu'
    GITHUB_ACCOUNT = 'kubesphere'
    APP_NAME = 'devops-java-sample'
  

 

//docker tag  service-oss:v1  registry.cn-hangzhou.aliyuncs.com/baimeidashu/service-oss:v1

docker 登录

docker login --username=chaor*****@gmail.com registry.cn-hangzhou.aliyuncs.com

 

第3步:部署项目 :连接

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章