Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

  1. MG kommer nu skapa en tunnel till dig som gör att localhost:1494 pekar mot GitLab servern.

...

  1. Guide för skapande av SSH-nyckel: https://dev.to/sndrx/how-to-set-up-an-ssh-key-and-use-it-in-gitlab--42p1

  2. 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

  1. 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

  1. 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

  1. Surfa in på: https://codestart.quarkusspring.io/ och ange följande:

    1. Project - Maven Project

    2. Spring Boot - Ta den senaste stabila versionen, för tillfället 2.6.2

    3. Group - Ange se.sundsvall . Detta blir grunden i paketstrukturen.

    4. Artifact - Ange namnet på din applikation.

    5. Buildtool - Låt vara Maven.

    6. Version - Låt vara “1.0.0-SNAPSHOT”.

    7. 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.

    Under “Pick your extensions
    1. Name - Återigen namnet på din applikation, fast “vanligt” namn.

    2. Description - En kortfattad beskrivning av applikationen.

    3. Packaging - Jar.

    4. Java - Minst 11

  2. 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:

    1. Image RemovedImage Added
  3. Klicka på “Generate your application” och ladda ned som .zip-fil.

  4. 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.

  5. 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

  1. Sandbox - En branch som helt enkelt fungerar som en sandlåda. Där kan du experimentera lite.

    1. Nås efter installation på: https://microservices.sundsvall.se/sandbox/{namnet på ditt repo}

  2. Master - Produktionsbranchen. Det som pushas hit avses vara produktionskod.

    1. 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
languagexml
<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
languagejava
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
languagejava
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.