<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GitLab on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/gitlab/</link><description>Recent content in GitLab on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 26 Mar 2026 07:12:39 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/gitlab/index.xml" rel="self" type="application/rss+xml"/><item><title>Does Language Still Matter in the Age of AI? Yes — But the Tradeoff Has Changed</title><link>https://foojayio.github.io/website/today/does-language-still-matter-in-the-age-of-ai-yes-but-the-tradeoff-has-changed/</link><pubDate>Wed, 25 Mar 2026 16:37:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/does-language-still-matter-in-the-age-of-ai-yes-but-the-tradeoff-has-changed/</guid><description>&lt;h2 id="h2-0-"&gt;&lt;img src="https://foojayio.github.io/website/today/does-language-still-matter-in-the-age-of-ai-yes-but-the-tradeoff-has-changed/dominance-700x467.png" alt="" loading="lazy"&gt;
&lt;/h2&gt;
&lt;p&gt;I keep hearing the same question in architecture reviews, slack threads, and conference Hallways:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;If AI is writing the code, does language even matter anymore?&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It does. More than ever, actually &amp;mdash; just not for the reasons we&amp;rsquo;ve been arguing about for the last decade.&lt;/p&gt;
&lt;h2 id="h2-1-the-bottleneck-has-moved"&gt;The Bottleneck Has Moved&lt;/h2&gt;
&lt;p&gt;For decades, we optimized for developer productivity. How fast can someone write code? How expressive is the language? How quickly can we ship features?&lt;/p&gt;</description></item><item><title>foojay – Documentation as Code with AsciiDoctor, GitLab CI, and GitLab Pages</title><link>https://foojayio.github.io/website/today/documentation-as-code-with-asciidoctor-gitlab-ci-and-gitlab-pages/</link><pubDate>Mon, 19 Jan 2026 06:00:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/documentation-as-code-with-asciidoctor-gitlab-ci-and-gitlab-pages/</guid><description>&lt;p&gt;Writing documentation should be as low-key as possible to remove the pain from the process. One way to achieve this is through Documentation as Code. Setting it up and configuring it may take some time, but once it&amp;rsquo;s done, you can focus on creating the content itself.&lt;/p&gt;
&lt;p&gt;As a developer, I appreciate good documentation, but writing it myself is often cumbersome and feels unrewarding &amp;mdash; especially when no one reads or uses it. The reason: documentation spread across multiple tools, with no clear way to find it.&lt;/p&gt;</description></item><item><title>Creating Executables For JavaFX Applications</title><link>https://foojayio.github.io/website/today/creating-executables-for-javafx-applications/</link><pubDate>Fri, 08 Dec 2023 13:46:50 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-executables-for-javafx-applications/</guid><description>&lt;p&gt;Here on Foojay, you can already find some great articles on how to create native executables from your JavaFX code:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/native-applications-for-multiple-devices-from-a-single-javafx-project-with-gluon-mobile-and-github-actions/"&gt;Native Applications for Multiple Devices from a Single JavaFX Project with Gluon Mobile and GitHub Actions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/javafx-templates-for-desktop-applications/"&gt;JavaFX Templates for Desktop Applications&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;rsquo;s take a look in this article at the current state of what can be done with &lt;code&gt;jpackage&lt;/code&gt; and GitHub Actions.&lt;/p&gt;
&lt;p&gt;All the sources and workflow files used here &lt;a href="https://github.com/heshanthenura/JavaPackageDemo" target="_blank" rel="noopener noreferrer"&gt;can be found in the &lt;code&gt;JavaPackageDemo&lt;/code&gt; repository&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Working with GitLab Merge Requests in IntelliJ IDEA</title><link>https://foojayio.github.io/website/today/working-with-gitlab-merge-requests-in-intellij-idea/</link><pubDate>Thu, 10 Aug 2023 09:57:10 +0000</pubDate><guid>https://foojayio.github.io/website/today/working-with-gitlab-merge-requests-in-intellij-idea/</guid><description>&lt;p&gt;&lt;strong&gt;In this tutorial, we will take a look at working with GitLab Merge Requests inside IntelliJ IDEA.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When reviewing Merge Requests in a web interface, we don&amp;rsquo;t have the same support that our IDE gives us, like syntax highlighting and the context within which the code was written.&lt;/p&gt;
&lt;p&gt;IntelliJ IDEA has support for reviewing and merging GitLab Merge Requests. These features are available if the IntelliJ IDEA project has a remote that points to GitLab.&lt;/p&gt;</description></item><item><title>Foojay Podcast #26: The Future of Source Control and CI/CD</title><link>https://foojayio.github.io/website/today/foojay-podcast-26/</link><pubDate>Mon, 26 Jun 2023 08:35:21 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-26/</guid><description>&lt;p&gt;As developers, we like to automate the boring parts of our job. This automation includes the source control system, build pipelines, and code analysis tools.&lt;/p&gt;
&lt;p&gt;In recent decades, we have seen evolutions from CVS to Subversion to Git. Is this the endpoint? Did we find the holy grail in version control? Or what evolutions are waiting for us?&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s find out together with these fantastic guests&amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;This is the final episode of season 2 of the Foojay Podcast. See you in September for the start of our new season with more JUGs, the launch of Java 21, and much more!&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>GitLab Pages Preview</title><link>https://foojayio.github.io/website/today/gitlab-pages-preview/</link><pubDate>Mon, 12 Jun 2023 08:55:31 +0000</pubDate><guid>https://foojayio.github.io/website/today/gitlab-pages-preview/</guid><description>&lt;p&gt;When I write Apache APISIX-related blog posts, I want my colleagues to review them first. However, it&amp;rsquo;s my blog, and since I mix personal and business posts, I want to keep them from the repository. I need a preview, accessible only to a few, something like &lt;a href="https://vercel.com/docs/concepts/deployments/preview-deployments" target="_blank" rel="noopener noreferrer"&gt;Vercel&amp;rsquo;s preview&lt;/a&gt;
. I&amp;rsquo;m using GitLab Pages, and there&amp;rsquo;s no such out-of-the-box feature.&lt;/p&gt;
&lt;p&gt;I tried two methods: GitHub gists and PDFs. Both have issues.&lt;/p&gt;</description></item><item><title>Conditional Builds on GitLab</title><link>https://foojayio.github.io/website/today/conditional-builds-on-gitlab/</link><pubDate>Mon, 09 May 2022 09:16:26 +0000</pubDate><guid>https://foojayio.github.io/website/today/conditional-builds-on-gitlab/</guid><description>&lt;p&gt;Regular readers of my articles know that I&amp;rsquo;m using &lt;a href="https://jekyllrb.com/" target="_blank" rel="noopener noreferrer"&gt;Jekyll&lt;/a&gt;
 to generate my static blog site, together with GitLab. When I push on the &lt;code&gt;master&lt;/code&gt; branch, it triggers the generation job.&lt;/p&gt;
&lt;p&gt;However, Jekyll is Ruby-based and requires a couple of Gem dependencies. I&amp;rsquo;ve also added a few plugins. For this reason, I&amp;rsquo;ve created a &lt;a href="https://blog.frankel.ch/musings-dockerfile-jekyll/" target="_blank" rel="noopener noreferrer"&gt;Docker image with all required dependencies&lt;/a&gt;
. Regularly, I update the versions in the &lt;code&gt;Gemfile.lock&lt;/code&gt; via Bundler. Afterward, I need to rebuild the Docker image.&lt;/p&gt;</description></item><item><title>GitLab: Your Continuous Deployment One-Stop Shop</title><link>https://foojayio.github.io/website/today/gitlab-continuous-deployment-one-stop-shop/</link><pubDate>Wed, 04 Aug 2021 07:44:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/gitlab-continuous-deployment-one-stop-shop/</guid><description>&lt;p&gt;This week, I want to take a break from my Rust series and focus on a different subject. I&amp;rsquo;ve already written about &lt;a href="https://blog.frankel.ch/my-blogging-stack-publishing-process/" target="_blank" rel="noopener noreferrer"&gt;my blogging stack&lt;/a&gt;
 in detail.&lt;/p&gt;
&lt;p&gt;However, I didn&amp;rsquo;t touch on one facet and that facet is how I generate the static pages from Jekyll. As I describe in the blog post, I&amp;rsquo;ve included quite a couple of customizations. Some of them require external dependencies, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A for PlantUML diagrams generation&lt;/li&gt;
&lt;li&gt;The &lt;em&gt;graphviz&lt;/em&gt; package for the same reason&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All in all, it means that I require a fully configured system. I solved this problem by using containerization, namely Docker. Within the &lt;code&gt;Dockerfile&lt;/code&gt;, I&amp;rsquo;m able to install all required dependencies. Then, in my GitLab build file, I can reference this image and benefit from all its capabilities.&lt;/p&gt;</description></item></channel></rss>