Binary repository
Binary repository is a centralized storage space where Guidewire applications publish their dependencies. It simplifies the development process by removing the need to duplicate artifacts across multiple Bitbucket repositories. By creating a single source of dependencies, Binary repository ensures efficient storage, versioning, and management of npm packages.
Example
Jutro-application-embedded dependencies are published as npm
files to edge
nodes. Both CI builds and developers can retrieve them.
Access control
Access to this application is managed by Guidewire Hub. For details, see Access Cloud Platform apps and services.
All read operations performed by developers and their TeamCity builds are logged in Datadog.
Core components
Binary repository consists of the two following components:
-
Guidewire internal binary repository
Internal repository, used by the Guidewire product development team to store dependencies of applications.
Publishes artifacts to edge nodes by creating and distributing release bundles.
-
GWCP edge nodes
Stores dependencies and artifacts, published from the Guidewire internal binary repository. Dependencies and artifacts can be downloaded by both users and their CI infrastructure.
Supported dependency types
The binary repository supports, among others, the following types of dependencies:
- Maven
- NPM packages
- ZIP files
Access Binary repository through a browser
To access Binary repository:
-
Go to a browser and enter the
https://{okta-region}.binrepo.guidewire.net/ui/login/
URL.Use
AMER
,APAC
, orEMEA
as anokta-region
. -
Log in with your Guidewire Hub credentials.
You will be redirected to the Binary repository homepage.
You can only view artifacts and dependencies to which you have access.
Access Binary repository through the CLI
You can access Binary repository through the CLI using an access token generated from the Binary repository UI.
Generate an access token
You can use the generated access token and your username for all calls to the Binary repository. After a token is generated, it can take up to 4 hours to grant you access to Binary repository through the CLI.
To generate an access token:
-
Log in to Binary repository UI.
-
Go to your profile and select Edit Profile.
-
Select Generate an Identity token.
Provide a description.
-
Copy the generated token and save it.
To increase security, generated secrets aren't stored in JFrog Platform. Copy and save the access token as you won't be able to access it again.
Important:The generated access token is valid for 30 days. You must generate a new token before it expires and update it in the following files:
.npmrc
- environment variables:
.zshrc
,.bashrc
, Windows environment variables gradle.properties
Warning:If you use an expired token more than 10 times, your account will be locked. To unlock it, submit a case in Guidewire Community.
Test connection
To test a connection between your workstation and edge nodes:
-
Authenticate with the repository through the following HTTPS request:
curl -u username@domain-name.com:IdentityToken https://amer.binrepo.guidewire.net/artifactory/api/npm/jutro-npm-dev-local/auth/@jutro
Where:
-u username@domain-name.com:IdentityToken
refers to your username and the generated access token.https://amer.binrepo.guidewire.net/artifactory/api/npm/jutro-npm-dev-local/auth/@jutro
refers to an endpoint to which the request is being made.
-
Save the response body to an npm configuration (
npmrc
) file.If the response body contains a username, change the
_authToken
parameter to_password
.Make sure that
strict-ssl
is set tofalse
. -
Switch to a new directory and run the
npm init
command. -
Install
@jutro/cli
with the following command:npm install @jutro/cli
-
Check if the npm packages are installed, and if the
node_modules
folder and thepackage-lock.json
file are created.