第二步: 项目编译
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:v1docker 登录
docker login --username=chaor*****@gmail.com registry.cn-hangzhou.aliyuncs.com
第3步:部署项目 :连接
欢迎来撩 : 汇总all

 白眉大叔
				白眉大叔			
 
									 
									