Space Automation Webinar Recording and Q&A Session

Alexandra Charikova

Thanks for joining us at the Introduction to Automation: CI/CD in Space webinar, we hope you enjoyed it as much as we did!

During this session, JetBrains Developer Advocate Maarten Balliauw introduced many of the concepts behind Space Automation. He also discussed the automation DSL, running builds, publishing to the Space package registry, secrets and parameters, and much more! Evgeniy Koshkin, Automation Team Lead, hosted a Q&A session after Maarten’s talk.

For those of you who missed it, here is the recording of our live session:

Below is a summary of the Q&A session.

Q: Is there support for the Space Kotlin script in IntelliJ IDEA?

A: Yes, the Space plugin provides this support in IntelliJ IDEA.

Q: There is support for third-party Kotlin libraries in the Space automation script?

A: Space Automation lets you import dependencies by adding a @file:DependsOn(“group:artifact:version”) to your script. Those can be third-party Maven dependencies or your own. You can distribute your own helper functions as a package and include them in other automation scripts.

Q: How do we reference container registries (DockerHub, Space containers, private container registries, vendor registries, etc.)?

A: Currently, you can use container images from Docker Hub, registries in Space Packages, and any external registries that don’t require authentication.

  • For Docker Hub, an image name is sufficient, for example: container(“alpine:latest”)
  • For Space Packages, you need a full image URL, for example: container(“mycompany.registry.jetbrains.space/p/mpj/mydocker/myimage”)

Q: I heard the Space plugin will allow us to run CI locally but I don’t see this feature currently. When will it be available? I have been testing the CI recently and found that it was unable to use custom images from a private container registry in the same project. Space Support confirmed the issue, but when will it be available?

A: The ability to run scripts locally will appear later after the Space release. Private container registries in the same project are supported, please see the answer above.

Q: When we will be able to build and push docker images from Space CI?

A: Currently, it is possible to build and push Docker images to registries in Space Packages or any other registries that don’t require authentication.

Q: Can I have multiple space.kts files and split scheduled jobs from a regular per-push script?

A: Currently, no. We plan to add this feature later. 

Q: Is there a converter tool for creating a space.kts from other CI providers?

A: No, there’s no such tool.

Q: Can we import outsourced space.kts files into other space.kts files to extract common job definitions?

A: No, right now it’s not possible.

Q: Can I also run IntelliJ Code Analyse automatically and fail on negative results?

A: This is not something provided by Space Automation. You can look into the IntelliJ Command Line and create a custom container that holds these tools, but it’s not automatically supported by Space Automation.

Q: Can I add visual feedback to my reviews based on results from the pipeline? E.g. a list of successful/failed tests? I could, of course, use the API to add ‘comments’, but I am thinking about visually more integrated feedback like a list of checkmarks or actual coverage coloring added to the diff-view?

A: When a link to a job run is sent to a chat channel, it will automatically be unfurled to contain its name, execution number, status, and a couple more details. If that is sufficient, sending a job URL as a CR comment will be enough. For other results, the chat API provides a way to create more elaborate messages, with sections, columns, highlights, and so on.

Check the API playground in your Space organization to see which types of messages can be sent to chat/comment channels.

Q: I don’t get auto completion and other automation features with the Space plugin

A: Autocompletion and the Space Automation tool window should appear once you open the .space.kts file.

Q: Is it an IntelliJ IDEA feature only? I use PHPStorm.

A: You can install the Space plugin on any IntelliJ-based IDE, including PHPStorm.

Q: Can I use Space as a registry for docker images, Maven, or/and npm? Will there be a plugin marketplace like there is for IntelliJ IDEA?

A: Space has a built-in package repository manager called Space Packages. Currently, it supports the following repository types: container registries, Maven repositories, NuGet feeds, and npm repositories.

Q: Will some tools be available to make migration from TeamCity easier?

A: Right now it’s not planned.

Q: About the Space script API internal. Is it coroutines based? Will we have a suspend scope or should we use runBlocking (that makes sense in the script case)?

A: Yes, the script API is coroutines based. A suspend scope is provided, so there is no need to use runBlocking. Check the last section of this screencast, where a function is extracted. The extracted function is a suspend function, without requiring anything additional.

Q: Can an Open Source project use Space and make the project visible to anyone?

A: Space is mostly focused on companies. To use Space fully, a user must be authenticated in it and be a part of the particular organization. Nevertheless, you can make specific Git repositories and repositories in Space Packages public.

Q: Right now registries are on the project level, will there be support for global registries? Or what is the best way to publish internal general-purpose libraries that should be accessible by multiple projects? Creating a project for it feels unnatural to me and I think having a lot of different registries will be very hard to manage. Am I missing something here?

A: We’ve dropped support for global repositories in Packages. Now, a repository can exist only on the project level. For such common repositories it’s possible to attach them to multiple projects from the administration page.

Q: Is it possible to deploy on-premise?

A: Not yet, but we are working on it. It should be ready next year.

Q: How about the self-hosted version? Any news about the release date and prices?

A: Standalone version ETA – next year, prices are not yet defined, but we are working on it. We will announce them in advance.

If you haven’t tried Space yet, join our free EAP by requesting your invite today!

Subscribe

Subscribe for Space blog