diff --git a/.gitea.yml b/.gitea.yml new file mode 100644 index 0000000..848222e --- /dev/null +++ b/.gitea.yml @@ -0,0 +1,40 @@ +name: Deploy to Server (Docker) + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Build Docker image + run: docker build -t registry.gocommunity.ru:5000/my-app-image . + + - name: List Docker image + run: docker images + + - name: Login to registry hub. + run: docker login -u podman -p PodMan25! registry.gocommunity.ru:5000 + + - name: Push Docker image to registry + run: docker push registry.gocommunity.ru:5000/my-app-image:latest + + - name: Push Docker image to registry + run: echo "Happy New Year!!" + + - name: Deploy to server (using docker run or docker-compose) + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USERNAME }} + key: ${{ secrets.SERVER_PRIVATE_KEY }} + script: | + docker pull /my-app-image:latest + docker stop my-app-container || true # Stop existing container if it exists + docker rm my-app-container || true # Remove existing container if it exists + docker run -d -p 8080:80 --name my-app-container /my-app-image:latest \ No newline at end of file diff --git a/cmd/task_manager/main.go b/cmd/task_manager/main.go index 14e54d3..2b707dc 100644 --- a/cmd/task_manager/main.go +++ b/cmd/task_manager/main.go @@ -13,16 +13,24 @@ import ( "github.com/gorilla/mux" "task_manager/internal/app" - "task_manager/internal/config" "task_manager/internal/persistance" ) func main() { r := mux.NewRouter() - db, err := sql.Open("postgres", config.CONNECTION_STRING) + connStr := "postgres://postgres:postgres@database:5432/tasks?sslmode=disable" + db, err := sql.Open("postgres", connStr) if err != nil { - log.Fatalf("Open error database: %v", err) + panic(err) + } + defer db.Close() + + err = db.Ping() + if err != nil { + panic(err) + } else { + fmt.Println("Подключение успешно!") } repo := persistance.NewTaskManager(db) task := app.NewTaskManager(repo) diff --git a/compose.yaml b/compose.yaml index 9574d7e..fb7474e 100644 --- a/compose.yaml +++ b/compose.yaml @@ -7,6 +7,8 @@ services: restart: unless-stopped depends_on: - database + networks: + - app-network database: image: postgres:latest environment: @@ -17,6 +19,8 @@ services: volumes: - ./database/init:/docker-entrypoint-initdb.d restart: unless-stopped + networks: + - app-network swagger-ui: image: swaggerapi/swagger-ui:latest @@ -27,4 +31,10 @@ services: - ./config/swagger.yaml:/tmp/swagger.yaml:ro environment: - SWAGGER_JSON=/tmp/swagger.yaml - restart: unless-stopped \ No newline at end of file + restart: unless-stopped + networks: + - app-network + +networks: + app-network: + driver: bridge \ No newline at end of file diff --git a/internal/config/config.go b/internal/config/config.go index 797243b..8f66f24 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,5 +1,5 @@ package config const ( - CONNECTION_STRING = "postgres://postgres:postgres@localhost:5432/tasks" + CONNECTION_STRING = "postgres://postgres:postgres@localhost:5432/tasks?sslmode=disable" )