testcontainers / testcontainers/testcontainers-java
[Bug]: Error in running test on kube-jenkins
Personne n'a encore pris cette issue.
- Langage dominant
- Java
- Étoiles
- 8.7k
- Forks
- 1.9k
- Merge moyen
- 2 j 17 h
- PR mergées (30 j)
- 9
Description
Module
PostgreSQL
Testcontainers version
1.16.3
Using the latest Testcontainers version?
Yes
Host OS
linux
Host Arch
x86
Docker version
Container Runtime Version: docker://20.10.7
What happened?
I am using testcontainers for my unit test for repository, it passes locally but failed in the jenkins, and it only have one line log trace:
EntityRepositoryTest > initializationError FAILED
com.github.dockerjava.api.exception.InternalServerErrorException at DefaultInvocationBuilder.java:247
Here are my code, I retaged and pushed postgres:13.2 to company's private jfrog
public class MyRepositoryPostgresqlContainer extends PostgreSQLContainer<MyRepositoryPostgresqlContainer> {
static private DockerImageName myImage = DockerImageName.parse("comany./postgres:13.2").asCompatibleSubstituteFor("postgres");
private static MyRepositoryPostgresqlContainer container;
private MyRepositoryPostgresqlContainer(DockerImageName myImage) {
super(myImage);
}
public static MyRepositoryPostgresqlContainer getInstance() {
if (container == null) {
container = new MyRepositoryPostgresqlContainer(myImage)
.withDatabaseName("XXX")
.withUsername("XXX")
.withPassword("XXX);
}
return container;
}
...
}
@ContextConfiguration(initializers = {MyTest.Initializer.class})
public class MyTest {
@ClassRule
public static PostgreSQLContainer postgreSQLContainer = MyRepositoryPostgresqlContainer.getInstance();
static class Initializer
implements ApplicationContextInitializer<ConfigurableApplicationContext> {
public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
TestPropertyValues.of(
"spring.datasource.url=" + postgreSQLContainer.getJdbcUrl(),
"spring.datasource.username=" + postgreSQLContainer.getUsername(),
"spring.datasource.password=" + postgreSQLContainer.getPassword()
).applyTo(configurableApplicationContext.getEnvironment());
}
}
}
@SpringBootTest
@RunWith(SpringRunner.class)
public class EntityRepositoryTest extends MyTest{
@Autowired
private MyRepository repo;
@Test
public void test() {
MyEntity myEntity = MyEntity.builder().
....
.build();
repo.saveAndFlush(myEntity);
assertEquals(1, repo.findAll().size());
}
}
Any suggestion helps, Thanks
Relevant log output
EntityRepositoryTest > initializationError FAILED
com.github.dockerjava.api.exception.InternalServerErrorException at DefaultInvocationBuilder.java:247
### Additional Information
_No response_
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par EntityRepositoryTest et MyRepositoryPostgresqlContainer, puis reproduisez l’échec dans l’environnement kube-jenkins en utilisant la configuration d’images Docker et PostgreSQL indiquée. Collectez les journaux complets de Docker et Jenkins au-delà de la seule ligne InternalServerErrorException et comparez-les à une exécution locale réussie. La tâche est terminée lorsque la cause spécifique à l’environnement est identifiée et qu’une résolution vérifiée est documentée ou implémentée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- docker, java, postgresql
- Domaine
- ci-cd, databases, testing
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100