gpt4 book ai didi

mysql - Gitlab-CI : Test Job is failing

转载 作者:行者123 更新时间:2023-11-28 22:25:16 24 4
gpt4 key购买 nike

我目前正在编写一个 .gitlab-ci.yml 文件来自动构建、测试、打包和部署我的应用程序,但是构建作业通过了,但其他作业(测试、部署)却失败了。

我的应用程序是一个 Springboot 网络应用程序,带有一个 Mysql 数据库来存储数据,我正在使用 maven 来构建项目。

下面是我的.gitlab-ci.yml文件

before_script:
- echo "Execute scripts which are required to bootstrap the application. !"

after_script:
- echo "Clean up activity can be done here !."

stages:
- build
- test
- package
- deploy

variables:
MAVEN_CLI_OPTS: "--batch-mode"
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"

cache:
paths:
- .m2/repository/
- target/

build:
stage: build
image: maven:latest
script:
- mvn $MAVEN_CLI_OPTS clean compile

test:
stage: test
image: maven:latest
script:
- mvn $MAVEN_CLI_OPTS test

package:
stage: package
image: maven:latest
script:
- mvn $MAVEN_CLI_OPTS package
artifacts:
paths: [target/basecamp-0.0.1.war]


deploy_test:
stage: deploy
script:
- echo "######## To be defined ########"
environment: staging

deploy_prod:
stage: deploy
script:
- echo "######## To be defined ########"
only:
- master
environment: production

我收到的错误如下:

2017-12-23 10:00:33.854  WARN 65 --- [           main] o.a.tomcat.jdbc.pool.ConnectionPool      : maxIdle is larger than maxActive, setting maxIdle to: 50
2017-12-23 10:00:34.567 ERROR 65 --- [ main] o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago.
The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:989)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:341)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2189)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2222)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2017)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:779)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

您能知道问题出在哪里吗?

谢谢,G.

最佳答案

找到您的 Spring 上下文测试并禁用它(例如,将其注释掉或在测试类上使用 JUnit 的 @Ignore 为您的管道进行新的尝试。文本可能如下所示:

@RunWith(SpringRunner.class)
@SpringBootTest
public class YourApplicationTest {

@Test
public void contextLoads() {
}

}

您的异常是因为在测试期间无法访问您的数据库而抛出的。可以在此处找到详细说明和一些故障排除:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

关于mysql - Gitlab-CI : Test Job is failing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47951642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com