#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 с заголовком, ключевым словом, именем пользователя и описанием