【发布时间】:2019-02-09 19:37:24
【问题描述】:
我配置了一个 Google 可以演示项目,并在 GitLab 无服务器设置中为它创建了一个集群,用于 Hello world Spring 启动应用程序。我找到的关于部署应用程序的唯一信息是https://docs.gitlab.com/ee/user/project/clusters/serverless/#deploying-serverless-applications,它可能只解释了如何部署 Ruby 应用程序。我不确定,因为脚本中使用的变量都没有解释和提示
注意:您可以参考示例 Knative Ruby App 开始使用。
有点令人困惑,因为如果我不熟悉构建我不熟悉的 Ruby 应用程序,那将无法让我开始。
按照说明放置
stages:
- build
- deploy
build:
stage: build
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
only:
- master
script:
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE
deploy:
stage: deploy
image: gcr.io/triggermesh/tm@sha256:e3ee74db94d215bd297738d93577481f3e4db38013326c90d57f873df7ab41d5
only:
- master
environment: production
script:
- echo "$CI_REGISTRY_IMAGE"
- tm -n "$KUBE_NAMESPACE" --config "$KUBECONFIG" deploy service "$CI_PROJECT_NAME" --from-image "$CI_REGISTRY_IMAGE" --wait
在.gitlab-ci.yml 中导致deploy 阶段失败,原因是
$ tm -n "$KUBE_NAMESPACE" --config "$KUBECONFIG" deploy service "$CI_PROJECT_NAME" --from-image "$CI_REGISTRY_IMAGE" --wait
2019/02/09 11:08:09 stat /root/.kube/config: no such file or directory, falling back to in-cluster configuration
2019/02/09 11:08:09 Can't read config file
ERROR: Job failed: exit code 1
我的Dockerfile 允许在本地构建,如下所示:
FROM maven:3-jdk-11
COPY . .
RUN mvn --batch-mode --update-snapshots install
EXPOSE 8080
CMD java -jar target/hello-world-0.1-SNAPSHOT.jar
(文件名中的版本对进一步部署没有意义,但这是一个后续问题)。
【问题讨论】:
标签: spring-boot gitlab serverless