主要存放构建的程序包
[root@localhost minio]# pwd
/data/deploy/minio
[root@localhost minio]# cat conf/config.env
# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=amc@22343!
# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.
MINIO_VOLUMES="/mnt/data"
# MINIO_OPTS sets any additional commandline options to pass to the MinIO server.
# 例如, `--console-address :9001` sets the MinIO Console listen port
MINIO_OPTS="--console-address :9001"
# MINIO_SERVER_URL sets the hostname of the local machine for use with the MinIO Server
# MinIO assumes your network control plane can correctly resolve this hostname to the local machine
# Uncomment the following line and replace the value with the correct hostname for the local machine and port for the MinIO server (9000 by default).
Maven配置


Jdk配置

Node.js配置











[root@localhost push_to_minio]# cat push_minio_dp.py
from minio import Minio
import argparse
import os
import time
from minio.error import S3Error
def minio(project, tag, workspace):
minio_client = Minio('10.12.9.20:9000',
access_key='FWaL35z6sQYt50Ly',
secret_key='UVQ7bY4mrA64kuvonnmFkYwuwdNcY2Q3',
secure=False)
# 指定桶名称和路径
bucket_name = 'deploy-package'
file_path = workspace + f'/{project}-{tag}.tar.gz'
bucket_file_name = '/' + project.replace('_', '/') + '/' + f'{project}-{tag}.tar.gz'
try:
# 使用 put_object 方法上传文件到指定路径
minio_client.fput_object(bucket_name, bucket_file_name, file_path)
# print(f"文件 '{file_path}' 已成功上传到 '{bucket_name}' 中的路径 {file_path}")
except Exception as err:
print(err)
exit(1)
def main():
parser = argparse.ArgumentParser(description='push_to_minio')
parser.add_argument('--project', '-p', type=str, default="test-test", help="project")
parser.add_argument('--tag', '-t', type=str, default='v1.0', help='tag')
parser.add_argument('--workspace', '-w', type=str, default='/root/.jenkins/workspace/test-test', help='tag')
args = parser.parse_args()
project = args.project
tag = args.tag
workspace = args.workspace
minio(project, tag, workspace)
if __name__ == "__main__":
main() pipeline {
agent any
stages {
stage('拉取代码') {
steps {
sh 'rm -rf ${WORKSPACE}/*'
checkout scmGit(branches: [[name: '${branch}']], extensions: [], userRemoteConfigs: [[credentialsId: 'd181f2f8-29ab-42b3-a2f1-205d3483d031', url: 'http://gitlab.nbfamc.com/bi/reportlets.git']])
sh 'echo ${branch}'
}
}
stage('打包程序') {
steps {
sh '''
cd ${WORKSPACE}
prefix1="origin/"
tag1=${branch#$prefix1}
prefix="origin/"
tar -zcvf BI_reportlets-${tag1#$prefix}.tar.gz ./*
echo ${WORKSPACE}
'''
}
}
stage('推送到制品库') {
steps {
sh '''
prefix1="origin/"
tag1=${branch#$prefix1}
prefix="origin/"
/usr/local/python3.10/bin/python3.10 /home/scripts/push_to_minio/push_minio_dp.py -p BI_reportlets -t ${tag1#$prefix} -w ${WORKSPACE}
'''
}
}
}
}
pipeline {
agent any
stages {
stage('拉取代码') {
steps {
sh 'rm -rf ${WORKSPACE}/*'
checkout scmGit(branches: [[name: '${tag}']], extensions: [], userRemoteConfigs: [[credentialsId: 'd181f2f8-29ab-42b3-a2f1-205d3483d031', url: 'http://gitlab.nbfamc.com/amc/ecology-web.git']])
sh 'echo ${branch}'
}
}
stage('npm构建程序') {
steps {
sh '''
source /etc/profile
npm cache clean --force
npm install
npm run build
'''
}
}
stage('打包程序') {
steps {
sh '''
cd ${WORKSPACE}
prefix1="origin/"
tag1=${tag#$prefix1}
prefix="origin/"
tar -zcvf AMC_ecology-web-${tag1#$prefix}.tar.gz ./dist
echo ${WORKSPACE}
'''
}
}
stage('推送到制品库') {
steps {
sh '''
prefix1="origin/"
tag1=${tag#$prefix1}
prefix="origin/"
/usr/local/python3.10/bin/python3.10 /home/scripts/push_to_minio/push_minio_dp.py -p AMC_ecology-web -t ${tag1#$prefix} -w ${WORKSPACE}
'''
}
}
}
}
pipeline {
agent any
stages {
stage('拉取海牛平台代码') {
steps {
sh 'rm -rf ${WORKSPACE}/*'
sh 'wget -O ${WORKSPACE}/hn-aes_html-${tag}.zip http://10.12.8.34/biz/modularityExport/project1698217845514818/downLoadHtmlList?projectId=28'
}
}
stage('推送程序到制品库') {
steps {
sh '''
prefix1="origin/feature-"
tag1=${tag#$prefix1}
prefix="origin/"
/usr/local/python3.10/bin/python3.10 /home/scripts/push_to_minio/push_minio_dp_zip.py -p hn-aes_html -t ${tag1#$prefix} -w ${WORKSPACE}
'''
}
}
}
}pipeline {
agent any
stages {
stage('拉取gitlab代码') {
steps {
sh 'rm -rf ${WORKSPACE}/*'
checkout scmGit(branches: [[name: '${tag}']], extensions: [], userRemoteConfigs: [[credentialsId: 'd2508495-2b7c-458b-8652-1403b764d77f', url: 'http://gitlab.nbfamc.com/amc/amc-cloud.git']])
}
}
stage('maven构建程序') {
steps {
sh '/usr/local/apache-maven-3.9.7/bin/mvn -f ${WORKSPACE} clean install -N'
sh '/usr/local/apache-maven-3.9.7/bin/mvn -f ${WORKSPACE} clean package -DskipTests'
}
}
stage('打包程序') {
steps {
sh '''
[root@localhost pull_minio_dp]# cat pull_minio_dp.py
from minio import Minio
import argparse
def minio(project, tag, workspace):
minio_client = Minio('10.12.9.20:9000',
access_key='FWaL35z6sQYt50Ly',
secret_key='UVQ7bY4mrA64kuvonnmFkYwuwdNcY2Q3',
secure=False)
# 指定桶名称和路径
bucket_name = 'deploy-package'
local_file_path = workspace + f'/{project}-{tag}.tar.gz'
bucket_file_name = '/' + project.replace('_', '/') + '/' + f'{project}-{tag}.tar.gz'
try:
# 使用 put_object 方法上传文件到指定路径
minio_client.fget_object(bucket_name, bucket_file_name, local_file_path)
# print(f"文件 '{file_path}' 已成功上传到 '{bucket_name}' 中的路径 {file_path}")
except Exception as err:
print(err)
exit(1)
def main():
parser = argparse.ArgumentParser(description='push_to_minio')
parser.add_argument('--project', '-p', type=str, default="test-test", help="project")
parser.add_argument('--tag', '-t', type=str, default='v1.0', help='tag')
parser.add_argument('--workspace', '-w', type=str, default='/root/.jenkins/workspace/test-test', help='tag')
args = parser.parse_args()
project = args.project
tag = args.tag
workspace = args.workspace
minio(project, tag, workspace)
if __name__ == "__main__":
main()pipeline {
agent any
parameters {
string(name: 'tag', defaultValue: '', description: 'Enter the Git tag to deploy')
}
environment {
work_bak = '/opt/bak/reportlets'
work_dir = '/opt/software/report/tomcat/webapps/webroot/WEB-INF/reportlets'
}
stages {
stage('Hello') {
steps {
sh 'echo ${tag}'
sh 'echo ${WORKSPACE}'
}
}
stage('拉取制品包到master') {
agent { label 'master' }
steps {
pipeline {
agent any
parameters {
string(name: 'tag', defaultValue: '', description: 'Enter the Git tag to deploy')
}
environment {
deploy_dir = '/data/deploy/nginx/html/ecology'
bak_dir = '/data/deploy/nginx/bak/ecology'
process_port = '443'
}
stages {
stage('拉取制品包到master') {
agent { label 'master' }
steps {
sh 'rm -rf ${WORKSPACE}/*'
sh '/usr/local/python3.10/bin/python3.10 /home/scritps/pull_minio_dp/pull_minio_dp.py -p AMC_ecology-web -t ${tag} -w ${WORKSPACE}'
stash includes: '*',
pipeline {
agent any
environment {
deploy_dir = '/data/deploy/nginx/html/ecology-mf'
bak_dir = '/data/deploy/nginx/bak/ecology-mf'
process_port = '443'
}
stages {
stage('拉取制品包到master') {
agent { label 'master' }
steps {
sh 'rm -rf ${WORKSPACE}/*'
sh '/usr/local/python3.10/bin/python3.10 /home/scritps/pull_minio_dp/pull_minio_dp_zip.py -p hn-aes_html -t ${tag} -w ${WORKSPACE}'
stash includes: '*', name: 'hn-aes-uat'
}
}
stage('部署节点获取制品包-10.10.32.200') {
agent { label '10.10.32.200'
pipeline {
agent any
parameters {
string(name: 'tag', defaultValue: '', description: 'Enter the Git tag to deploy')
}
environment {
JENKINS_NODE_COOKIE = 'dontKillMe'
process_name = 'manatee-ecology-gateway.jar'
deploy_dir = '/home/amc/openGateway/build'
bak_dir = '/home/amc/bak'
process_port = '8085'
scripts_name = 'deploy_ecology-gateway.sh'
}
stages {
stage('拉取制品包到master') {
agent { label 'master' }
steps {
sh