liuyuqi-dellpc 3 weeks ago
parent
commit
bb5f7e87b1
5 changed files with 159 additions and 0 deletions
  1. 38 0
      .cnb.yml
  2. 17 0
      android/.cnb.yml
  3. 22 0
      go/.cnb.yml
  4. 28 0
      java/.cnb.yml
  5. 54 0
      java/settings.xml

+ 38 - 0
.cnb.yml

@@ -0,0 +1,38 @@
+$:
+  vscode:
+    - docker:
+        build: .ide/Dockerfile
+        volumes:
+          # - node_modules:copy-on-write
+          - /root/.npm:copy-on-write
+          # - go, java, python,flutter,android,php等缓存
+          - /root/.gradle:copy-on-write
+          - /root/.m2:copy-on-write
+          - /root/.composer:copy-on-write
+          - /root/.flutter-cache:copy-on-write
+          - /root/.android:copy-on-write
+          - /root/.pub-cache:copy-on-write
+         
+      runner:
+        cpus: 6
+      services:
+        - vscode
+        - docker
+      stages:
+        - name: ls
+          script: |
+            ls -al
+            /workspace/scripts/init/init_workspace.sh
+      endStages:
+        - name: end stage 1
+          script: echo "end stage 1"
+        - name: end stage 2
+          script: echo "end stage 2"
+#
+#master:
+#  pull_request:
+#    - stages:
+#      - name: 代码评审
+#        image: cnbcool/ai-review:latest
+#        settings:
+#          type: code-review

+ 17 - 0
android/.cnb.yml

@@ -0,0 +1,17 @@
+# https://cnb.cool/examples/ecosystem/springboot-maven-docker/-/blob/main/pom.xml
+
+master:
+  push:
+    - docker:
+        # 可以在 hub.docker.com 上找需要的 android sdk 版本的 docker 镜像
+        # https://hub.docker.com/r/mobiledevops/android-sdk-image
+        # https://github.com/docker-android-sdk
+        # 当这些都不满足您的需求时,您可以制作自己的 docker 镜像安装您需要的 sdk 版本和工具
+        image: mobiledevops/android-sdk-image:34.0.1
+        volumes:
+          - /root/.gradle:cow
+      stages:
+        - name: android-build
+          script: ./gradlew build
+        - name: "ls"
+          script: ls ./app/build/outputs/apk/release

+ 22 - 0
go/.cnb.yml

@@ -0,0 +1,22 @@
+# https://cnb.cool/examples/ecosystem/springboot-maven-docker/-/blob/main/pom.xml
+
+main:
+  push:
+    - services:
+        # 流水线中启用 docker 服务
+        - docker
+      stages:
+        # 云原生构建自动构建Docker镜像并将它发布到制品库
+        - name: docker build
+          script:
+            - docker build -t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:${CNB_COMMIT} .
+        - name: docker push
+          script:
+            - docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:${CNB_COMMIT}
+#        - name: 使用kubectl操作腾讯TKE更新指定pod的镜像版本
+#          # 导入环境变量,【环境变量】https://docs.cnb.cool/build/env.html
+#          imports: https://cnb.cool/examples/secrets/-/blob/main/go-gin-kubernetes-kubeconfig.yml
+#          image: bitnami/kubectl
+#          commands: |
+#            echo  "$KUBECF" > ~/.kube/config
+#            kubectl set image $POD_TYPE/$POD $CONTAINER=$IMAGE:$IMAGE_TAG -n $NS

+ 28 - 0
java/.cnb.yml

@@ -0,0 +1,28 @@
+# https://cnb.cool/examples/ecosystem/springboot-maven-docker/-/blob/main/pom.xml
+
+main:
+  push:
+    - docker:
+        # 声明构建环境,可以在 dockerhub 上 https://hub.docker.com/_/maven 找到您需要maven和jdk版本
+        # image: maven:3.8.6-openjdk-8
+        image: maven:3.8.5-openjdk-17
+
+        volumes:
+          - /root/.m2:copy-on-write
+      services:
+        # 流水线中启用 docker 服务
+        - docker
+      stages:
+        - name: mvn package
+          script: |
+            # 合并 ./settings.xml 和 /root/.m2/settings.xml
+            mvn clean package -s ./settings.xml
+            mvn deploy -s ./settings.xml
+        # 云原生构建自动构建Docker镜像并将它发布到制品库,【上传Docker制品】https://docs.cnb.cool/artifact/docker.html
+        - name: docker build
+          script:
+            - docker build -t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:${CNB_COMMIT} .
+        - name: docker push
+          script:
+            - docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:${CNB_COMMIT}
+            

+ 54 - 0
java/settings.xml

@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
+
+    <servers>
+        <server>
+            <id>examples-ecosystem/maven</id>
+            <username>cnb</username>
+            <password>${CNB_TOKEN}</password>
+        </server>
+    </servers>
+
+    <profiles>
+        <profile>
+            <id>repository</id>
+            <repositories>
+                <repository>
+                    <id>tencent-maven</id>
+                    <name>TencentCloud Maven</name>
+                    <url>https://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
+                    <releases>
+                        <enabled>true</enabled>
+                    </releases>
+                    <snapshots>
+                        <enabled>false</enabled>
+                    </snapshots>
+                </repository>
+                <!--    这里会使用 server 中配置的账号密码-->
+                <!--    必须与 server 的 id 一致-->
+                <repository>
+                    <id>examples-ecosystem/maven</id>
+                    <name>maven</name>
+                    <url>https://maven.cnb.cool/examples/ecosystem/maven/-/packages/</url>
+                    <releases>
+                        <enabled>true</enabled>
+                    </releases>
+                    <snapshots>
+                        <enabled>true</enabled>
+                    </snapshots>
+                </repository>
+            </repositories>
+            <pluginRepositories>
+                <pluginRepository>
+                    <id>maven2-plugin</id>
+                    <url>https://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
+                </pluginRepository>
+            </pluginRepositories>
+        </profile>
+    </profiles>
+    <activeProfiles>
+        <activeProfile>repository</activeProfile>
+    </activeProfiles>
+</settings>