Gitlab CI с PHP

#php #continuous-integration #gitlab

#php #непрерывная интеграция #gitlab

Вопрос:

В настоящее время у меня возникли проблемы с моим конвейером gitlab-ci.yml, где я пытаюсь настроить этап тестирования и развертывания для одного из моих php-файлов. Я также не слишком уверен, как docker работает и в gitlab. Я впервые использую gitlab ci с php, поэтому прошу прощения, если мои коды немного запутаны и избыточны.

Мой PHP-файл:

 <?php
// Initialize the session
session_start();
include "config.php"; // Using database connection file here

// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true || $_SESSION["roles"] !== 'Reporter')
{
    header("location: login.php");
    exit;
}
        
if(isset($_POST['submit']))
{       
    $title = $_POST['title'];
    $keyword = $_POST['keyword'];
    $description = $_POST['description'];
    $username = $_SESSION["username"];

    $insert = mysqli_query($link,"INSERT INTO `bugreport`(`title`, `keyword`, `description`, `status`, `username`) VALUES ('$title', '$keyword','$description', 'Open', '$username')");
    echo "Bug report raised!<br />";
    
    if(!$insert)
    {
        echo mysqli_error();
    }
}

mysqli_close($link); // Close connection
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Raise Bug Report</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        body{ font: 14px sans-serif; text-align: center; }
    </style>
</head>
<body>
    <div class="page-header">
        <h1>Raise bug report</h1>
    </div>
    <p>
    <form method="POST">
  Title : <input type="text" name="title" placeholder="Title" size="50" Required>
  <br/>
  Keyword : <input type="text" name="keyword" placeholder="Keyword" size="50" Required>
  <br/>
  Description : <input type="text" name="description" placeholder="Description" size="50" Required>
  <br/>
  <br/>
  <input type="submit" name="submit" class="btn btn-primary" value="Submit">
   <input type="reset" class="btn btn-default" value="Reset">  
  <a href="welcome.php" class="btn btn-danger">Back to Home</a>
</form>

    </p>
</body>
</html>
  

мой gitlab-ci.yml:

 # Select image from https://hub.docker.com/_/php/
image: php:latest

before_script:
  - apt-get update -yqq
  - apt-get install -yqq git libmcrypt-dev libpq-dev libcurl4-gnutls-dev libicu-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev
  - apt-get install git -yqq
  - curl --location --output /usr/local/bin/phpunit https://phar.phpunit.de/phpunit.phar
  - chmod  x /usr/local/bin/phpunit
  - docker-php-ext-install pdo_mysql

stages:
  - test
  - deployment

test: 
  stage: test
  script: phpunit --configuration phpunit_myapp.xml
  artifacts: 
        paths: 
          - Report.*

deployment:
   stage:
  

Комментарии:

1. С какой проблемой вы столкнулись? Не могли бы вы указать ошибки или детали проблемы в своих вопросах. Из вашего вопроса неясно, в чем проблема.

2. @SouravAtta Извините, извините, я совсем не разбираюсь в программировании, особенно в gitlab.

3. @SouravAtta в основном, всякий раз, когда я обновляю или добавляю новую функцию, я фиксирую изменения и использую GitLab для отслеживания его как CI / CD с заголовком, ключевым словом, именем пользователя и описанием