Créez et testez des applications Java + Gradle avec Wercker

Bien que mon aspect du dossier de travail soit fort, j'ai créé la procédure pour Wercker sur la base du dossier de travail réel. Je suis nouveau dans CI lui-même, il peut donc y avoir des erreurs. Dans ce cas, veuillez le signaler.

Aperçu

Il s'agit de la procédure de construction automatique et de test automatique avec Wercker dans le référentiel GitHub des applications Java utilisant Gradle. J'ai testé des référentiels publics ici, mais je pourrais aussi essayer des référentiels privés et ajouter des résultats.

Wercker

URL

https://app.wercker.com/

Aperçu

Wercker, la lecture est un travailleur. Récemment acquis par Oracle. Vous pouvez utiliser votre référentiel privé gratuitement. Vous pouvez créer un environnement de construction à l'aide de Docker.

table des matières

  1. Connexion Wercker
  2. Enregistrez le référentiel GitHub avec Wercker
  3. Créer wercker.yml, pousser vers le référentiel GitHub, compilation automatique, travaux de test automatiques
  4. Définissez wercker.yml pour que la construction réussisse
  5. Confirmez que si le test JUnit sur Gradle échoue, la compilation échouera également sur Wercker.
  6. Forcer Wercker à vérifier dans le référentiel GitHub et rejeter la fusion en cas de test NG

Connexion Wercker

  1. Accéder à Wercker
  2. Vous pouvez vous connecter avec votre compte GitHub

Enregistrer le référentiel GitHub avec Wercker

  1. Cliquez sur le bouton Créer votre première application sur Wercker
  2. Sélectionnez l'écran Utilisateur et SCM
    1. Select a user from the doropdown begin.*
  1. Sélectionnez l'écran Repository
  2. Sélectionnez le référentiel GitHub à ajouter à Wercker --Seules les référentiels avec les privilèges d'administrateur sont affichés (devrait être, lisez la documentation Wercker, mais indiquez si c'est faux)
  3. Écran de configuration de la clé SSH
    • wercker will check out the code without using an SSH key --Wercker extrait le référentiel cible sans clé SSH
  1. Écran de révision 1.Assurez-vous que les paramètres sont ceux que vous avez sélectionnés
    1. Make my app public
  1. Ajout de l'application sur Wercker terminé

Créez wercker.yml et transférez-le dans le référentiel GitHub

  1. À partir de l'écran de fin d'enregistrement du référentiel, l'écran d'ajout de yml est ouvert tel quel
  2. Sélectionnez Java Gradle dans la boîte de sélection intitulée Sélectionnez une langue
  3. Le contenu de wercker.yml sera affiché, alors copiez-le dans le presse-papiers.
  4. Créez un fichier avec le contenu copié sous forme de fichier wercker.yml directement sous la racine du référentiel.
  1. Poussez wercker.yml vers le référentiel
  2. Attrapez la poussée et exécutez automatiquement sur Wercker
  3. Succès ou erreur --Dans mon travail, j'ai échoué avec une erreur lors de la phase de construction de werkker.
  1. Expliquez la résolution de l'erreur en la matière

Contenu wercker.yml par défaut de Wercker

# This references an OpenJDK container from the
# Docker Hub https://hub.docker.com/_/openjdk/
# Read more about containers on our dev center
# http://devcenter.wercker.com/docs/containers/index.html
box: openjdk:8-jdk

# This is the build pipeline. Pipelines are the core of wercker
# Read more about pipelines on our dev center
# http://devcenter.wercker.com/docs/pipelines/index.html
build:
    # Steps make up the actions in your pipeline
    # Read more about steps on our dev center:
    # http://devcenter.wercker.com/docs/steps/index.html
  steps:
    # https://github.com/wercker/step-gradle
    - java/gradle:
      task: build
      cache_project_cache: true

Définissez wercker.yml pour que la construction passe

Contre-mesures

  1. Si vous définissez la version: dans l'élément de construction de wercker.yml, java / gradle, vous devriez pouvoir en créer n'importe quelle version.
  1. Si vous utilisez le wrapper gradle au lieu de vous fier à java / gradle de wercker.yml, vous devriez pouvoir l'exécuter avec n'importe quelle version.
  1. Ajoutez gradle-wrapper.jar au référentiel pour que gradlew puisse s'exécuter
  1. Construction réussie sur Wercker

Final werkker.yml

# This references an OpenJDK container from the
# Docker Hub https://hub.docker.com/_/openjdk/
# Read more about containers on our dev center
# http://devcenter.wercker.com/docs/containers/index.html
box: openjdk:10.0.1-jdk

# defining the dev pipeline
dev:
  steps:
    # A step that executes `gradle bootRun` command
    - script:
      name: run gradle
      code: |
        ./gradlew bootRun

# Build definition
build:
  # The steps that will be executed on build
  steps:
    # A step that executes `gradle build` command
    - script:
        name: run gradle
        code: |
          ./gradlew --full-stacktrace -q --project-cache-dir=$WERCKER_CACHE_DIR build

Confirmez que si le test JUnit sur Gradle échoue, la compilation échouera également sur Wercker.

  1. Osez changer le code de test pour que NG apparaisse dans la classe de test
  2. Validez et envoyez le code contenant le test NG vers le référentiel GitHub
  3. Confirmez que la compilation échoue sur Wercker ――Je l'ai essayé et j'ai confirmé que la phase de construction avait échoué.

Forcer Wercker à vérifier dans le référentiel GitHub et rejeter la fusion en cas de test NG

  1. Ouvrez les paramètres dans le référentiel GutHub
  2. Branches ouvertes
  3. Sélectionnez et ouvrez la branche principale
  4. Cochez Exiger que les vérifications d'état soient réussies avant la fusion
  5. Vérifiez l'élément wercker / build
  6. Les demandes d'extraction ultérieures vers le maître ne peuvent pas être fusionnées sans une compilation réussie de Wercker

finalement

À ce stade, vous pouvez attraper la transmission vers GitHub sur Wercker et vérifier si la construction (test effectué en même temps que la construction) réussit ou échoue automatiquement. Il y a encore beaucoup de choses à faire en définissant le flux de travail, je prévois donc de les laisser dans un article séparé si j'essaye à nouveau.

prime

Documentation du développeur Wercker Comment fonctionne Wercker, comment faire votre propre boîte et étape

Recommended Posts

Créez et testez des applications Java + Gradle avec Wercker
Application Java CICS-Run - (3) Gestion de build avec Gradle
Construire Java avec Wercker
Construire un projet Java avec Gradle
Surveillez les applications Java avec jolokia et hawtio
Application Java CICS-Run - (2) Gestion de build avec Maven
Présentation du test Java automatisé avec JUnit 5 + Gradle
Test d'intégration avec Gradle
Construction de premier niveau (Java)
Créer un environnement de test E2E avec Selenium (Java)
En utilisant Gradle avec VSCode, compilez Java → exécutez
Exécutez Maven sur Java 8 lors de la compilation sur Java 6 et des tests sur Java 11
Vérifiez la couverture avec Codecov dans la configuration Java + Gradle + Wercker
Créer un multi-projet Java avec Gradle
Utiliser java avec MSYS et Cygwin
Installez Java et Tomcat avec Ansible
Couverture de test de sortie avec Clover + Gradle
Utilisez JDBC avec Java et Scala.
Construire Java avec Mac vs Code
Sortie PDF et TIFF avec Java 8
[Java] Tester des méthodes privées avec JUnit
Copier et coller le test avec RSpec
Crypter avec Java et décrypter avec C #
Bonjour tout le monde en Java et Gradle
[Gradle] Construisez un projet Java avec une configuration différente de la convention
Transformez facilement les applications Java en conteneurs Docker avec Jib ~ Construisez avec gradle et enregistrez-vous dans le référentiel local
Créez un environnement de test d'application Windows avec Selenium Grid, Appium et Windows Application Driver
[Java] Créer un module exécutable avec Gradle
Les débutants créent des applications Web avec Java et MySQL (ajout à tout moment)
Lier le code Java et C ++ avec SWIG
Test Java EE (CDI / intercepteur) avec Arquillian
Essayons WebSocket avec Java et javascript!
[Java] Lecture et écriture de fichiers avec OpenCSV
Créer un serveur DNS avec CentOS 8 et lier
Construire OpenCV avec Java Wrapper sur Ubuntu 18.04
Le test JUnit 5 Gradle génère une erreur avec l'annotation Lombok
Téléchargez JDK avec Gradle et créez JRE
Créer des applications Java avec IBM Cloud Functions
Créez un environnement Apache et Tomcat avec Docker. À propos, coopération Maven & Java
[Java] Comment tester s'il est nul dans JUnit
[CircleCI 2.0] [Java] [Maven] [JUnit] Agréger les résultats des tests JUnit avec CircleCI 2.0
Rendre l'environnement SpringBoot1.5 + Gradle4.4 + Java8 + Docker compatible avec Java11
Gestion Java et paramètres du chemin de construction STS (Eclipse)
[Gradle] Opérations de construction souvent effectuées dans les projets Java
Présentation des tests Java automatisés avec JUnit 5 + Apache Maven
Analyse de code statique par Checkstyle avec Java + Gradle
Exécutez l'application Scala avec Spring Boot via Gradle
Essayez d'intégrer Ruby et Java avec Dapr
Créer un environnement Java et afficher hello world [Débutant]
JSON avec Java et Jackson Part 2 XSS mesures
Construire Java x Spring x VSCode x Gradle sur Docker (1)
Créez des projets Spring Boot par environnement avec Gradle
Comment créer une API avec GraphQL et Rails
Préparer un environnement de scraping avec Docker et Java
KMS) Chiffrement d'enveloppe avec décryptage openssl et java
Crypter / décrypter avec AES256 en PHP et Java
Mélanger les cas de test avec JUnit 5 et les méthodes par défaut