Gestion du code source

Bénéficiez d'un hébergement rapide et évolutif pour les référentiels privés basés sur Git avec une interface web pour naviguer et modifier le code et de règles flexibles pour accorder l'accès aux membres.

Navigation dans le code en ligne

Navigation dans le code en ligne

Parcourez les commits et les fichiers par auteur de modification, branche ou nom de fichier. Consultez l'historique des modifications et les annotations faites par d'autres développeurs. Affichez les différences côte à côte et les discussions pour mieux comprendre ce qui a changé et pourquoi.

Modifiez les fichiers et effectuez des commits des modifications

Modifiez les fichiers et effectuez des commits des modifications

Effectuez des modifications mineures directement dans l'interface utilisateur web, sans avoir à passer par un éditeur de code dédié.

API d'état de commit

Suivez l'état des commits dans des serveurs de build externes

Fusionnez et avancez en toute confiance en vérifiant si les modifications apportées à la base de code résultent en un succès ou un échec lorsqu'elles sont implémentées par un serveur CI connecté. Space s'intègre avec TeamCity (disponible), GitHub Actions ou Jenkins (à venir) et peut récupérer les codes d'état, les détails de branche, les horodatages, et plus encore.

Gérez et protégez votre code source

Avec Space, vous disposez d'un large choix de fonctions de sécurité intégrées qui vous permet une flexibilité maximale pour contrôler l'accès à votre code source en toute sécurité.

Restrictions de Push

Des restrictions de push configurables rendent la collaboration sur le code source claire, transparente et sécurisée.

Branches protégées

Définissez des règles pour travailler avec les branches à l'aide d'un schéma d'autorisations granulaire.

Mise en miroir

Mettez en miroir votre référentiel depuis GitHub avec une synchronisation bidirectionnelle. Invitez des collaborateurs externes à participer au projet tout en assurant la sécurité de votre développement dans Space.

Réplication régionale à venir

Vous faites partie d'une équipe décentralisée ? Utilisez la réplication régionale pour fournir un accès plus rapide à vos référentiels à partir de différents emplacements géographiques.


Révision du code

Établissez un processus de révision du code fiable, personnalisable et intégré, que vous souhaitiez mettre en place des règles et conditions formelles ou non. Révisez le code dans la branche avant qu'il ne soit fusionné avec la branche maîtresse, ou après la fusion d'un ou de plusieurs commits. Space prend en charge ces deux flux de travail en toute simplicité.

Collaborez sur le code au même endroit

Collaborez sur le code au même endroit

Lancez des discussions et collaborez avec les membres de votre équipe directement dans la base de code. Les contributeurs peuvent répondre ou réagir avec des émojis. Votre code reste ainsi facile à lire, à déboguer, à maintenir et à étendre. Les conversations désordonnées sont contenues en toute sécurité dans les profondeurs de Space.

Processus de révision du code par aller-retour

Révisions de code efficaces et performantes

Suivez les discussions entre l'examinateur du code et son auteur grâce à un système transparent permettant de valider les modifications et de résoudre les problèmes.

Passez en revue les commits et ajoutez des commentaires au fur et à mesure que vous parcourez chaque fichier avant de collaborer avec l'auteur, qui peut mettre à jour le code, laisser une réponse ou clore la discussion.

Fusionnez les demandes

Fusionnez les demandes

Vous pouvez limiter les commits directs à la branche maîtresse (ou à toute autre branche) à l'aide du schéma d'autorisations. Créez des demandes de fusion qui sont acceptées automatiquement après la fin des tests automatisés ou lorsqu'une révision de code qui suit un flux prédéfini est terminée.

Définissez vos propres règles

La réussite d'une tâche d'automatisation, l'approbation d'un coéquipier désigné, une vérification fournie par un service externe ; vous pouvez combiner ces conditions comme vous le souhaitez pour créer des critères de qualité que les utilisateurs et utilisatrices doivent réunir avant de pouvoir fusionner leurs modifications.


Automatisation

Des moyens modernes et intuitifs d'organiser vos pipelines de livraison continue et une solution pour une large gamme de tâches d'automatisation.

Automatiser tout ce que vous voulez

Intégration continue et Livraison continue (CI/CD)

Intégration et livraison continues simples mais puissantes, clés en main : rapport de test à la volée, exécution parallèle, reproductibilité locale (planifiée), avec couverture pour les principales piles techniques comme Gradle et Docker.

Intégration continue et Livraison continue (CI/CD

Workflows d'automatisation planifiés

Le module d'automatisation peut extraire des données de tout autre module de Space, notamment des tickets, du contrôle de version, des équipes et des tchats. De plus, les modules de Space génèrent des événements (une nouvelle révision de code, un nouveau ticket ou la création d'un nouveau membre) qui peuvent ensuite déclencher des scripts d'automatisation spécifiques.
Vous pouvez par exemple exécuter un script d'automatisation qui envoie un e-mail de bienvenue avec les informations utiles à un membre nouvellement ajouté dans Space ou créer une tâche pour l'équipe informatique afin de configurer un espace de travail.

API d'état de commit

Configuration à partir du code

L'automatisation dans Space est configurée à l'aide de scripts. L'interface utilisateur Automation dans Space est utilisée pour visualiser les résultats des scripts : journaux, tests et artefacts. Space utilise un DSL basé sur Kotlin comme language de script, et il est prévu qu'il prenne en charge YAML par la suite.

Intégration avec d'autres modules de Space

Dans un script d'automatisation, vous avez accès au client API HTTP de Space. Cela vous permet de travailler avec n'importe quel autre module de Space : envoyer des messages dans les Tchats, créer des articles, accéder au répertoire de l'équipe, et bien plus encore.

Conteneurs, machines virtuelles et fonctions

Space peut exécuter l'automatisation dans différents types d'environnements :

  • Exécutez des images Docker pures à partir de Docker Hub ou de votre référentiel d'images Space.
  • Prise en charge des machines virtuelles Linux, Windows et macOS. à venir
  • Prise en charge des fonctions serverless. à venir

Intégration avec des outils externes

Accédez à des API qui se connectent à des outils et services externes, notamment :

  • api.docker : pour construire et publier des images Docker.
  • api.gradle : pour construire des tests et faire des rapports de tests en utilisant Gradle.

À l'avenir, nous prévoyons d'ajouter entre autres .NET, npm, Maven et Bazel à cette liste.

Reproductibilité locale planifiée

Exécutez des scripts d'automatisation localement pour les tester avant de les pousser vers le serveur Space, en utilisant l'une de ces options :

  • Le plugin Space pour IntelliJ IDEA, qui vous permet d'exécuter des scripts localement et fournit la saisie et l'inspection automatiques du code.
  • L'outil de ligne de commande Space Automation.

Gestion des paquets

Créez et utilisez des référentiels de packages dans vos pipelines CI/CD ou depuis votre machine locale. Partagez des paquets entre plusieurs produits avec Container, Maven, NuGet et des référentiels npm.

Gestion des paquets

Distribution des applications

Utilisez des registres de conteneurs pour distribuer vos applications sous forme d'images de conteneurs et les utiliser lors du déploiement.

Dépendances des packages

Utilisez un référentiel local (disponible) pour stocker et consommer des packages en privé et mettez en miroir (planifié) un référentiel en amont, tel que Maven Central ou nuget.org, pour conserver les dépendances nécessaires tant que vous en aurez besoin.

Recherche puissante

Trouvez et visualisez des informations détaillées sur le package pour comprendre comment il a été produit.

Analyse de vulnérabilité des packages à venir

Configurez Space pour vérifier automatiquement les packages en fonction des problèmes de vulnérabilité courants. Ces vérifications peuvent être particulièrement utiles avant la publication d'un package en production.


Intégration des IDE basé sur IntelliJ

Connectez IntelliJ IDEA, ou tout autre IDE basé sur IntelliJ, à Space afin d'accéder à vos projets, référentiels, builds d'intégration continue et équipes.

Intégration des IDE basés sur IntelliJ
  • Clonez vos référentiels de projets.
  • Rechercher les références de packages Space manquantes directement dans l'IDE. à venir
  • Effectuez des révisions de code et parlez des extraits de code avec vos collaborateurs directement depuis votre IDE. à venir
  • Modifiez les scripts d'automatisation de Space à partir de votre IDE et exécutez-les localement. à venir