A6.Springboot-LLama3.2服务自动化构建(三)——编写Pipeline构建仓库初始化脚本
下面我们接着上一篇文章《A5.Springboot-LLama3.2服务自动化构建(二)——Jenkins流水线构建配置初始化设置》继续往下分析,编写Pipeline构建脚本。
一、统一Shell执行环境
Jenkins执行Shell脚本时,会在Jenkins节点上创建一个临时的环境来执行该脚本。这个环境包含了Jenkins运行时需要的所有依赖和资源,以及用户在Jenkins配置中指定的环境变量。
当用户在Jenkins中配置一个执行Shell的构建步骤时,Jenkins会根据配置参数来设置这个脚本执行的环境。
此外,Jenkins还提供了一系列内置的环境变量,可以在Shell脚本中使用,如JENKINS_URL(Jenkins实例的URL)、USERNAME(登录Jenkins的用户名)等。
用户可以在执行Shell脚本时,通过env命令来查看所有可用的环境变量。而在编写Shell脚本时,可以通过引用这些环境变量来访问它们的值。
无论是jenkins在执行过程中创建的临时环境,还是主机系统环境,如果jenkins以容器方式部署那么容器内部环境等这些环境在执行shell脚本,有时要涉及相应资源访问,因权限不够导致运行失败。因此我们可以通过下面脚本统一连接到主机统一环境状态下执行:
BUILD_HOST:远程主机地址,可以在pipeline->environment中配置,示例:pipeline { environment {} }
BUILD_PORT:远程主机端口,可以在pipeline->environment中配置,示例:pipeline { environment {} }
DEPLOY_HOST_CREDENTIALS_ID:部署主机的证书ID
remote.name:连接到远程的主机名
remote.host:连接到远程的主机
remote.port:连接到远程主机的端口
remote.allowAnyHosts:是否允许任意外部主机连接
credentialsId:连接到脚本执行构建主机证书ID,这个证书ID可以从Jenkins全局配置中获取(继续往下看)
withCredentials([sshUserPrivateKey(credentialsId: “${DEPLOY_HOST_CREDENTIALS_ID}”, keyFileVariable: ‘identity’, usernameVariable: ‘username’)])这句话的意思是根据证书ID以账号密码的方式连接到远程主机
def remote = [:]
remote.name = "${BUILD_HOST}"
remote.host = "${BUILD_HOST}"
remote.port = Integer.parseInt("${BUILD_PORT}")
remote.allowAnyHosts
原文地址:https://blog.csdn.net/smart_ljh/article/details/145245624
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!