pipeline {
agent any
stages {
stage('Build') {
steps {
// Add the commands to build your Angular application
sh 'npm install'
sh 'ng build --prod'
}
}
stage('Deploy to IIS') {
steps {
// Add the commands to deploy the build artifacts to IIS
bat 'xcopy /s /y "dist\\*" "C:\\inetpub\\wwwroot"'
}
}
stage('Create IIS Application') {
steps {
script {
// Get the branch name from the environment variable
def branchName = env.BRANCH_NAME
// Generate the application name based on the branch name
def appName = branchName.replaceAll("/", "-").toLowerCase()
// Set the IIS application path
def appPath = "Default Web Site/${appName}"
// Set the application pool name
def appPoolName = "MyAppPool"
// Create the IIS application
bat "appcmd add app /site.name:\"Default Web Site\" /path:\"/${appName}\" /physicalPath:\"C:\\inetpub\\wwwroot\\${appName}\""
// Set the application pool for the newly created application
bat "appcmd set app /app.name:\"Default Web Site/${appName}\" /applicationPool:\"${appPoolName}\""
}
}
}
}
}
您可以编辑构建阶段,不仅可以通过npm install安装node_module,还可以通过ng build --prod构建。但是添加一些其他自定义配置或命令,如运行测试,甚至添加新的测试阶段等。 如果IIS服务器的webroot位于不同的目录中,请在Deploy to IIS阶段调整xcopy命令中的路径。 将管道脚本保存在Jenkins作业配置中。运行Jenkins作业,它将执行定义的阶段来构建Angular应用程序并将其部署到IIS服务器。 大多数情况下,我在Angular项目中有一个jenkins文件。因此,如果我向master/dev branche提交了一些,它将自动从jenskinsfile运行管道作业。
1条答案
按热度按时间wi3ka0sx1#
设置Jenkins管道:
1.打开Jenkins并创建一个新的管道作业。配置必要的设置,如存储库URL和凭据。在管道配置中,选择“管道脚本”选项。
1.编写Jenkins管道脚本:在Jenkins管道脚本中,您需要定义部署过程的各个阶段。
您可以编辑构建阶段,不仅可以通过npm install安装node_module,还可以通过ng build --prod构建。但是添加一些其他自定义配置或命令,如运行测试,甚至添加新的测试阶段等。
如果IIS服务器的webroot位于不同的目录中,请在Deploy to IIS阶段调整xcopy命令中的路径。
将管道脚本保存在Jenkins作业配置中。运行Jenkins作业,它将执行定义的阶段来构建Angular应用程序并将其部署到IIS服务器。
大多数情况下,我在Angular项目中有一个jenkins文件。因此,如果我向master/dev branche提交了一些,它将自动从jenskinsfile运行管道作业。