devops相关文件

Signed-off-by: huhongtao <1850071046@qq.com>
pull/247/head
huhongtao 3 years ago committed by Gitee
parent b896cc96a3
commit e33edde984
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

@ -0,0 +1,19 @@
FROM openjdk:8-jdk
LABEL maintainer=huhongtao
#docker run -e PARAMS="--server.port 9090"
# server.port 启动端口
# 覆盖bootstrap。yml文件的内容意思为去nacos中寻找 ruoyi-auth-prod.yml配置文件
# spring.cloud.nacos.discovery.server-addr=ruoyi-nacos.ruoyi:8848 注册中心地址
# spring.cloud.nacos.config.server-addr=ruoyi-nacos.ruoyi:8848 配置中心地址
# spring.cloud.nacos.config.namespace nacos配置文件所属命名空间
# spring.cloud.nacos.config.file-extension=yml 配置文件后缀名,类型
ENV PARAMS="--server.port=8080 --spring.profiles.active=prod --spring.cloud.nacos.discovery.server-addr=ruoyi-nacos.ruoyi:8848 --spring.cloud.nacos.config.server-addr=ruoyi-nacos.ruoyi:8848 --spring.cloud.nacos.config.namespace=prod --spring.cloud.nacos.config.file-extension=yml"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
COPY target/*.jar /app.jar
EXPOSE 8080
#
ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]

@ -0,0 +1,66 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: ruoyi-auth
name: ruoyi-auth
namespace: ruoyi #一定要写名称空间
spec:
progressDeadlineSeconds: 600
replicas: 1
selector:
matchLabels:
app: ruoyi-auth
strategy:
rollingUpdate:
maxSurge: 50%
maxUnavailable: 50%
type: RollingUpdate
template:
metadata:
labels:
app: ruoyi-auth
spec:
imagePullSecrets:
- name: harbor-docker-hub #提前在项目下配置访问阿里云的账号密码
containers:
- image: $REGISTRY/$HARBOR_NAMESPACE/ruoyi-auth:SNAPSHOT-$BUILD_NUMBER
# readinessProbe:
# httpGet:
# path: /actuator/health
# port: 8080
# timeoutSeconds: 10
# failureThreshold: 30
# periodSeconds: 5
imagePullPolicy: Always
name: app
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
cpu: 300m
memory: 600Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
labels:
app: ruoyi-auth
name: ruoyi-auth
namespace: ruoyi
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: ruoyi-auth
sessionAffinity: None
type: ClusterIP

@ -0,0 +1,78 @@
pipeline {
agent {
node {
label 'maven'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('maven') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('maven') {
sh 'ls -al'
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('构建ruoyi-auth镜像') {
agent none
steps {
container('maven') {
sh 'ls ruoyi-auth/target'
sh 'docker build -t ruoyi-auth:latest -f ruoyi-auth/Dockerfile ./ruoyi-auth/'
}
}
}
stage('推送ruoyi-auth镜像') {
agent none
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-auth:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-auth:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-auth:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署ruoyi-auth到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'ruoyi-auth/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '192.168.2.147:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,78 @@
pipeline {
agent {
node {
label 'maven'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('maven') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('maven') {
sh 'ls -al'
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('构建ruoyi-file镜像') {
agent none
steps {
container('maven') {
sh 'ls ruoyi-modules/ruoyi-file/target'
sh 'docker build -t ruoyi-file:latest -f ruoyi-modules/ruoyi-file/Dockerfile ./ruoyi-modules/ruoyi-file/'
}
}
}
stage('推送ruoyi-file镜像') {
agent none
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-file:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-file:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-file:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署ruoyi-file到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'ruoyi-modules/ruoyi-file/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '192.168.2.147:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,78 @@
pipeline {
agent {
node {
label 'maven'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('maven') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('maven') {
sh 'ls -al'
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('构建ruoyi-gateway镜像') {
agent none
steps {
container('maven') {
sh 'ls ruoyi-gateway/target'
sh 'docker build -t ruoyi-gateway:latest -f ruoyi-gateway/Dockerfile ./ruoyi-gateway/'
}
}
}
stage('推送ruoyi-gateway镜像') {
agent none
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-gateway:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-gateway:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-gateway:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署ruoyi-gateway到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'ruoyi-gateway/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '192.168.2.147:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,78 @@
pipeline {
agent {
node {
label 'maven'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('maven') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('maven') {
sh 'ls -al'
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('构建ruoyi-gen镜像') {
agent none
steps {
container('maven') {
sh 'ls ruoyi-modules/ruoyi-gen/target'
sh 'docker build -t ruoyi-gen:latest -f ruoyi-modules/ruoyi-gen/Dockerfile ./ruoyi-modules/ruoyi-gen/'
}
}
}
stage('推送ruoyi-gen镜像') {
agent none
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-gen:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-gen:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-gen:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署ruoyi-gen到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'ruoyi-modules/ruoyi-gen/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '192.168.2.147:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,78 @@
pipeline {
agent {
node {
label 'maven'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('maven') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('maven') {
sh 'ls -al'
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('构建ruoyi-job镜像') {
agent none
steps {
container('maven') {
sh 'ls ruoyi-modules/ruoyi-job/target'
sh 'docker build -t ruoyi-job:latest -f ruoyi-modules/ruoyi-job/Dockerfile ./ruoyi-modules/ruoyi-job/'
}
}
}
stage('推送ruoyi-job镜像') {
agent none
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-job:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-job:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-job:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署ruoyi-job到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'ruoyi-modules/ruoyi-job/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '192.168.2.147:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,78 @@
pipeline {
agent {
node {
label 'maven'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('maven') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('maven') {
sh 'ls -al'
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('构建ruoyi-monitor镜像') {
agent none
steps {
container('maven') {
sh 'ls ruoyi-visual/ruoyi-monitor/target'
sh 'docker build -t ruoyi-monitor:latest -f ruoyi-visual/ruoyi-monitor/Dockerfile ./ruoyi-visual/ruoyi-monitor/'
}
}
}
stage('推送ruoyi-monitor镜像') {
agent none
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-monitor:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-monitor:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-monitor:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署ruoyi-monitor到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'ruoyi-visual/ruoyi-monitor/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '192.168.2.147:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,78 @@
pipeline {
agent {
node {
label 'maven'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('maven') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('maven') {
sh 'ls -al'
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('构建ruoyi-system镜像') {
agent none
steps {
container('maven') {
sh 'ls ruoyi-modules/ruoyi-system/target'
sh 'docker build -t ruoyi-system:latest -f ruoyi-modules/ruoyi-system/Dockerfile ./ruoyi-modules/ruoyi-system/'
}
}
}
stage('推送ruoyi-system镜像') {
agent none
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-system:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-system:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-system:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署ruoyi-system到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'ruoyi-modules/ruoyi-system/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '192.168.2.147:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,81 @@
pipeline {
agent {
node {
label 'nodejs'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('nodejs') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('nodejs') {
sh '''cd ruoyi-ui/
npm install --registry=https://registry.npmmirror.com'''
sh '''cd ruoyi-ui/
npm run build:prod
ls -al'''
}
}
}
stage('构建镜像') {
agent none
steps {
container('nodejs') {
sh 'ls'
sh 'docker build -t ruoyi-ui:latest -f ruoyi-ui/nginx/Dockerfile ./ruoyi-ui/'
}
}
}
stage('推送镜像') {
agent none
steps {
container('nodejs') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-ui:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-ui:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-ui:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'ruoyi-ui/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '192.168.2.147:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,19 @@
FROM openjdk:8-jdk
LABEL maintainer=huhongtao
#docker run -e PARAMS="--server.port 9090"
# server.port 启动端口
# 覆盖bootstrap。yml文件的内容意思为去nacos中寻找 ruoyi-auth-prod.yml配置文件
# spring.cloud.nacos.discovery.server-addr=ruoyi-nacos.ruoyi:8848 注册中心地址
# spring.cloud.nacos.config.server-addr=ruoyi-nacos.ruoyi:8848 配置中心地址
# spring.cloud.nacos.config.namespace nacos配置文件所属命名空间
# spring.cloud.nacos.config.file-extension=yml 配置文件后缀名,类型
ENV PARAMS="--server.port=8080 --spring.profiles.active=prod --spring.cloud.nacos.discovery.server-addr=ruoyi-nacos.ruoyi:8848 --spring.cloud.nacos.config.server-addr=ruoyi-nacos.ruoyi:8848 --spring.cloud.nacos.config.namespace=prod --spring.cloud.nacos.config.file-extension=yml"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
COPY *.jar /app.jar
EXPOSE 8080
#
ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]

@ -0,0 +1,78 @@
pipeline {
agent {
node {
label 'maven'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('maven') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('maven') {
sh 'ls -al'
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('构建ruoyi-auth镜像') {
agent none
steps {
container('maven') {
sh 'ls ruoyi-auth/target'
sh 'docker build -t ruoyi-auth:latest -f Devops/ruoyi-auth/Dockerfile ./ruoyi-auth/target/'
}
}
}
stage('推送ruoyi-auth镜像') {
agent none
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-auth:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-auth:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-auth:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署ruoyi-auth到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'Devops/ruoyi-auth/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '10.206.16.14:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,66 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: ruoyi-auth
name: ruoyi-auth
namespace: ruoyi #一定要写名称空间
spec:
progressDeadlineSeconds: 600
replicas: 1
selector:
matchLabels:
app: ruoyi-auth
strategy:
rollingUpdate:
maxSurge: 50%
maxUnavailable: 50%
type: RollingUpdate
template:
metadata:
labels:
app: ruoyi-auth
spec:
imagePullSecrets:
- name: harbor-docker-hub #提前在项目下配置访问阿里云的账号密码
containers:
- image: $REGISTRY/$HARBOR_NAMESPACE/ruoyi-auth:SNAPSHOT-$BUILD_NUMBER
# readinessProbe:
# httpGet:
# path: /actuator/health
# port: 8080
# timeoutSeconds: 10
# failureThreshold: 30
# periodSeconds: 5
imagePullPolicy: Always
name: app
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
cpu: 300m
memory: 600Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
labels:
app: ruoyi-auth
name: ruoyi-auth
namespace: ruoyi
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: ruoyi-auth
sessionAffinity: None
type: ClusterIP

@ -0,0 +1,13 @@
FROM openjdk:8-jdk
LABEL maintainer=huhongtao
#docker run -e PARAMS="--server.port 9090"
ENV PARAMS="--server.port=8080 --spring.profiles.active=prod --spring.cloud.nacos.discovery.server-addr=ruoyi-nacos.ruoyi:8848 --spring.cloud.nacos.config.server-addr=ruoyi-nacos.ruoyi:8848 --spring.cloud.nacos.config.namespace=prod --spring.cloud.nacos.config.file-extension=yml"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
COPY *.jar /app.jar
EXPOSE 8080
#
ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]

@ -0,0 +1,78 @@
pipeline {
agent {
node {
label 'maven'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('maven') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('maven') {
sh 'ls -al'
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('构建ruoyi-gateway镜像') {
agent none
steps {
container('maven') {
sh 'ls ruoyi-gateway/target'
sh 'docker build -t ruoyi-gateway:latest -f Devops/ruoyi-gateway/Dockerfile ./ruoyi-gateway/target'
}
}
}
stage('推送ruoyi-gateway镜像') {
agent none
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-gateway:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-gateway:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-gateway:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署ruoyi-gateway到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'Devops/ruoyi-gateway/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '192.168.2.147:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,66 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: ruoyi-gateway
name: ruoyi-gateway
namespace: ruoyi #一定要写名称空间
spec:
progressDeadlineSeconds: 600
replicas: 1
selector:
matchLabels:
app: ruoyi-gateway
strategy:
rollingUpdate:
maxSurge: 50%
maxUnavailable: 50%
type: RollingUpdate
template:
metadata:
labels:
app: ruoyi-gateway
spec:
imagePullSecrets:
- name: harbor-docker-hub #提前在项目下配置访问阿里云的账号密码
containers:
- image: $REGISTRY/$HARBOR_NAMESPACE/ruoyi-gateway:SNAPSHOT-$BUILD_NUMBER #SNAPSHOT-$BUILD_NUMBER
# readinessProbe:
# httpGet:
# path: /actuator/health
# port: 8080
# timeoutSeconds: 10
# failureThreshold: 30
# periodSeconds: 5
imagePullPolicy: Always
name: app
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
cpu: 300m
memory: 600Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
labels:
app: ruoyi-gateway
name: ruoyi-gateway
namespace: ruoyi
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: ruoyi-gateway
sessionAffinity: None
type: ClusterIP

@ -0,0 +1,13 @@
FROM openjdk:8-jdk
LABEL maintainer=huhongtao
#docker run -e PARAMS="--server.port 9090"
ENV PARAMS="--server.port=8080 --spring.profiles.active=prod --spring.cloud.nacos.discovery.server-addr=ruoyi-nacos.ruoyi:8848 --spring.cloud.nacos.config.server-addr=ruoyi-nacos.ruoyi:8848 --spring.cloud.nacos.config.namespace=prod --spring.cloud.nacos.config.file-extension=yml"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
COPY *.jar /app.jar
EXPOSE 8080
#
ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]

@ -0,0 +1,78 @@
pipeline {
agent {
node {
label 'maven'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('maven') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('maven') {
sh 'ls -al'
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
stage('构建ruoyi-file镜像') {
agent none
steps {
container('maven') {
sh 'ls ruoyi-modules/ruoyi-file/target'
sh 'docker build -t ruoyi-file:latest -f Devops/ruoyi-modules/ruoyi-file/Dockerfile ./ruoyi-modules/ruoyi-file/target'
}
}
}
stage('推送ruoyi-file镜像') {
agent none
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-file:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-file:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-file:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署ruoyi-file到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'Devops/ruoyi-modules/ruoyi-file/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '192.168.2.147:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}

@ -0,0 +1,15 @@
# 基础镜像
FROM nginx
# author
MAINTAINER huhongtao
# 挂载目录
VOLUME /home/ruoyi/projects/ruoyi-ui
# 创建目录
RUN mkdir -p /home/ruoyi/projects/ruoyi-ui
# 指定路径
WORKDIR /home/ruoyi/projects/ruoyi-ui
# 复制conf文件到路径
COPY ./nginx/conf/nginx.conf /etc/nginx/nginx.conf
# 复制html文件到路径
COPY ./dist /home/ruoyi/projects/ruoyi-ui

@ -0,0 +1,81 @@
pipeline {
agent {
node {
label 'nodejs'
}
}
stages {
stage('拉取代码') {
agent none
steps {
container('nodejs') {
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
sh 'ls -al'
}
}
}
stage('项目编译') {
agent none
steps {
container('nodejs') {
sh '''cd ruoyi-ui/
npm install --registry=https://registry.npmmirror.com'''
sh '''cd ruoyi-ui/
npm run build:prod
ls -al'''
}
}
}
stage('构建镜像') {
agent none
steps {
container('nodejs') {
sh 'ls'
sh 'docker build -t ruoyi-ui:latest -f Devops/ruoyi-ui/Dockerfile ./ruoyi-ui/'
}
}
}
stage('推送镜像') {
agent none
steps {
container('nodejs') {
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
sh 'docker tag ruoyi-ui:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-ui:SNAPSHOT-$BUILD_NUMBER'
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-ui:SNAPSHOT-$BUILD_NUMBER'
}
}
}
}
stage('部署到dev环境') {
agent none
steps {
kubernetesDeploy(configs: 'Devops/ruoyi-ui/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
REGISTRY = '10.206.16.14:30002'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
HARBOR_NAMESPACE = 'ruoyi'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}
Loading…
Cancel
Save