Janet Carr: building Clojure apps for CI/CD

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com, or follow me on Twitter.

I cannot find the URL for this article, currently the front of her site, but the title is “Building a Clojure CI/CD pipeline of CERTAIN DOOM” and it has a lot of interesting stuff. This was news to me:

Github comes with a dandy little package management solution as well. You just didn’t look hard enough because it’s covered in dust. Seriously, I haven’t met anyone who uses the Github Packages private maven repository except for me. So lets go ahead and set that up.

Setting up Github Packages for private use is remarkably similar to setting up an AWS S3 bucket as our private repository:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">

  <servers>
    <server>
      <id>github</id>
      <username>GITHUB_USERNAME_HERE</username>
      <password>PERSONAL_ACCESS_TOKEN_HERE</password>
    </server>
  </servers>

</settings>

settings.xml

Put this in your ~/.m2/settings.xml file. You’ll notice it requires a Github Personal Access Token (with Github Packages Read & Write permissions). This will give maven the credentials to deploy to Github Packages. Depending on your Github subscription, this can cost money.

Source