jenkins freestyle deploy web

Posted on 2022-06-02 11:13  无话可话  阅读(64)  评论(0)    收藏  举报
	gitlab connection
		选择定义好的gitlab仓库
	参数化构建过程
		git参数
			名称           branch
			描述           自定义
			参数类型       分支
			默认值         $branch
		选项参数
			名称            Status
			选项            Deploy
							Rollback


		描述            Deploy  ----> 发部
						Rollback----> 回滚
	文本参数
		名称             Version
		默认值           0
		描述               ----选择回滚JenkinsBuildNumber----
								!!部署新项目时忽略此项!!           

	源码管理
		Git
			Repository URL:    项目的Git仓库地址;#例 http://192.168.0.49:10080/web/easBossManageSystem.git
			Credentials:      认证Token
		 Branches to build
						 指定分支(为空时代表any)*/master
				 Additional Behaviours
						 Sparse Checkout paths        boss        #项目所在仓库内文件夹时,需要使用此选项,来拉取项目
		 构建触发器
				 Build when a change is pushed to GitLab. GitLab webhook URL: http://192.168.0.49:50080/project/web-eas-boss         
				 Allowed branches -->  Filter branches by regex-->  Target Branch Regex  -->  master #填写 git主线代码分支,否则,git推送任何分支时,都会jenkins构建                
				   #勾选此项,其他参数默认,不需要更改,将URL 之后的地址,放到对应Gitlab项目的 Settings--> Integrations

		 构建
				执行shell

case $Status  in
  Deploy)
	echo "Status:$Status"

	path="${WORKSPACE}/${BUILD_NUMBER}"      #创建每次要备份的目录

	PROJECT_NAME=`echo ${JOB_NAME} |awk -F"-" '{print $NF}'` #取出当前项目名称

	if [ -d $path ];
	then
		echo "The files is already  exists "
	else
		mkdir -p  $path
	fi
	\cp -rf ${WORKSPACE}/${PROJECT_NAME}/* $path        #将项目备份到相应目录,覆盖已存在的目标
	echo "Completing!"
	;;
  Rollback)
	  echo "Status:$Status"
	  echo "Version:$Version"
	  cd ${WORKSPACE}/$Version            #进入备份目录
	  \cp -rf ./* ${WORKSPACE}/${PROJECT_NAME}/       #将备份拷贝到程序打包目录中,并覆盖之前的文件
	  ;;
  *)
  exit
	  ;;
esac
	 构建后操作
			   Send build artifacts over ssh
			SSH Server    添加的远程主机
			Transfers     
				transfer set 
				source files        boss/**
				remove prefix       boss/ 
				remote directory    boss/
				exec command        echo "OK"

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3