Innan du sätter igång med detta, läs igenom: Utveckling
Där har vi författat viktiga saker att känna till som systemutvecklare på Sundsvalls Kommun.
1. Repository (repo)
Open-source repos placeras skapas här: https://github.com/Sundsvallskommun
Kontakta Per Persson för beställning av repo.
Interna repos placeras här: https://gitlab.sundsvall.se
Kontakta Per Persson för beställning av repo.
Guide SSH GitLab
Denna instruktion gäller för de som inte har en kommundator. Om du har en kommundator och är uppkopplad via VPN så kan du nå GitLab som vanligt via denna länkskapas här: https://gitlab.sundsvall.se/ .
För att kunna ansluta mot GitLab, som ligger på Sundsvalls kommuns interna nät så krävs det lite konfigurering.
...
Logga in i mobilityguard på login.sundsvall.se med sms-kod.
...
Klicka på ”Gitlab SSH”.
...
Följ instruktionerna på skärmen med att installera en klient på datorn och sedan ladda in config-filen in i klienten. Man kan behöva klicka på Gitlab SSH en gång till efter man har laddat in configen.
MG kommer nu skapa en tunnel till dig som gör att localhost:1494 pekar mot GitLab servern.
...
Guide för skapande av SSH-nyckel: https://dev.to/sndrx/how-to-set-up-an-ssh-key-and-use-it-in-gitlab--42p1
Namnsätt din privata nyckel till:
id_gitlab
och placera den under~/.ssh/
...
Ladda ned Git Bash: https://git-scm.com/downloads . Från Git Bash kan du utföra alla kommande kommandon.
...
Verifiera att din SSH-nyckel fungerar med följande kommando: ssh git@localhost –p 1494
Du ska nu se en välkomstfras med ditt användarnamn.
...
Nu krävs det att du skapar upp/ändrar din ”config” fil i ssh. Den är placerad i ~/.ssh/config
Lägg till följande:
Host localhost
HostName localhost
User git
Port 1494
IdentityFile ~/.ssh/id_gitlab
...
Nu ska du kunna klona ned ett repo. Testa med följande kommando: git clone git@localhost:{sökväg till ditt repo}.git
2. Skapande av applikation
Surfa in på: https://codestart.quarkusspring.io/ och ange följande:
Project - Maven Project
Spring Boot - Ta den senaste stabila versionen, för tillfället 2.6.2
Group - Ange
se.sundsvall
. Detta blir grunden i paketstrukturen.Artifact - Ange namnet på din applikation.
Buildtool - Låt vara Maven.
Version - Låt vara “1.0.0-SNAPSHOT”.
Example code - Välj om du vill ha några exempelklasser. Om du väljer detta kommer paketstrukturen genereras, vilket kan vara skönt. Kom dock ihåg att ersätta exempelklasserna.
Name - Återigen namnet på din applikation, fast “vanligt” namn.
Description - En kortfattad beskrivning av applikationen.
Packaging - Jar.
Java - Minst 11
Under “Dependencies” kan du lägga till Maven-dependencies. Följande kan vara bra att ha, men det är självklart beroende på vad du ska bygga:
Klicka på “Generate your application” och ladda ned som .zip-fil.
Packa upp innehållet till ditt repo. Döp om mappen från ditt applikationsnamn till “kod” och ersätt den befintliga “kod”-mappen i repot.
Nu är det äntligen dags att koda!
3.
...
När du har kodat klart och känner att det är dags att installera din applikation så är det några saker du behöver ha koll på.
...
Det finns två brancher
Sandbox - En branch som helt enkelt fungerar som en sandlåda. Där kan du experimentera lite.
Nås efter installation på: https://microservices.sundsvall.se/sandbox/{namnet på ditt repo}
Master - Produktionsbranchen. Det som pushas hit avses vara produktionskod.
Nås efter installation på: https://microservices.sundsvall.se/{namnet på ditt repo}
...
Biolerplatekod
Lägg till följande i pom:en för att exponera swagger-ui:
Code Block | ||
---|---|---|
| ||
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.4</version>
</dependency> |
Skapa en klass för att snygga till OpenAPI-infon (Inte nödvändigt):
Code Block | ||
---|---|---|
| ||
package se.sundsvall.demo;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class OpenApiConfig {
@Bean
OpenAPI openApi() {
return new OpenAPI()
.info(new Info().title("Demo Application")
.version("1.0.0")
.description("Description")
.contact(new Contact().name("Contact Name")
.email("noreply@sundsvall.se")
.url("https://sundsvall.se")));
}
} |
Skapa även en enkel Controller-klass för att ha någonting att anropa:
Code Block | ||
---|---|---|
| ||
package se.sundsvall.demo;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value = "/demo")
public class DemoResource {
@GetMapping(value = "/helloThere")
public ResponseEntity<String> helloThere() {
return ResponseEntity.ok("General Kenobi!");
}
} |
För att starta applikationen kör: mvn spring-boot:run
. Navigera sedan till http://localhost:8080/swagger-ui/index.html för att testa ditt API.