web-deploy | Automatic website deployment with GitHub and PHP | Continuous Deployment library
kandi X-RAY | web-deploy Summary
kandi X-RAY | web-deploy Summary
Deploy files from a GitHub public repository to a web server, with PHP as the only dependancy. Multiple repositories or branches can be configured to be deployed to different locations on the same server, allowing multi-site hosting or live and staging sites to be deployed from a single installation.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of web-deploy
web-deploy Key Features
web-deploy Examples and Code Snippets
Community Discussions
Trending Discussions on web-deploy
QUESTION
Is that possible to deploy the Laravel web application to shared hosting using GitHub Action & GitHub FTP Deploy? If possible how should I change the.github\workflows\master.yml?
...ANSWER
Answered 2022-Feb-12 at 02:26Looks like you're very close but are missing 2 important steps: set up a temporary PHP environment, and use that environment to install your dependencies (Composer).
GitHub Actions Setup
This guide assumes you have a working Laravel installation, a GitHub account, and a shared hosting account that you can access via FTP using a username/password.
I found this video https://www.youtube.com/watch?v=UNWIXYSZfZY helpful to get a basic understanding of how to deploy a simple application. To make this answer helpful to a wider range of people, I'll give a quick outline of my setup. There really aren't any Laravel specific steps.
Workflow directory set up
Create the directories .github\workflows
at the root of your project. In the workflows
directory, create a yml file named after the branch you want to push to your shared hosting account. Ex. master.yml
, staging.yml
, development.yml
etc. If you only have a single branch then just create one file. The name is important and should match the name of the branch.
Design your workflow
This is very dependent on your project but assuming you have a basic Laravel application without the need for additional components such as Node, then this is a basic GitHub Action that works for me on a variety of projects.
A basic action file consists of 2 sections, the workflow, and the jobs. A workflow triggers the jobs.
Workflow
Lines 1-4 say this will run each time we push
to the master
branch.
QUESTION
I have deployed a multiconnect setup of the WhatsApp Business API client in Production Kubernetes enviroment, using the documentation for Minikube Developer Setup: Multiconnect on Minikube as referece.
But when doing the first login, in order to get the auth token, i get the following error on Postman:
...ANSWER
Answered 2021-Dec-20 at 17:20Looks like a URL issue. Did you check the URL you are invoking? As per the documentation in the link you have shared :
"port 443 inside the Webapp container is mapped to the port 32477 on the Kubernetes cluster.
You need to use https://your-minikube-cluster-ip:your-webapp-service-targetport (e.g., https://10.101.114.46:32477) as the API root URL when using the Postman collection."
But as per your logs, I see the port number used is 31599. https://192.168.88.80:31599/auth/v1/login/
Regards, Prince Arora
QUESTION
I am trying to upload a repo to server via ftp on push to master branch. I have it set up and working. However in the repo there is a folder /public. I only want to upload the files in this folder to the server. Not other files or the folder itself. I have tried to set up a working directory for the job but this doesn't seem to do the trick.. any ideas?
...ANSWER
Answered 2021-Nov-30 at 07:50Checking out only one directory is not possible, but has been requested in the actions/checkout
repository before: https://github.com/actions/checkout/issues/483
There's an action to check out specific files, but I haven't tried it and I'm not sure if it does what you want: https://github.com/marketplace/actions/checkout-files
You might want to ask yourself why you're trying to limit the number of files transferred. Is it because you're concerned about traffic? Or because of the input expected in the subsequent action?
If it's the latter, you could also manually "fix" the structure by running some mv
and rm
commands.
QUESTION
I am having some problems running a powershell script in a targets file that is being included into some projects.
The MSBuild version is 16.11.0.36601
The following is the relevant stuff from the target file:
...ANSWER
Answered 2021-Sep-23 at 12:35When defining a property, it includes any line breaks into that property.
This:
QUESTION
Excuse my relative networking ignorance, but I've read a lot of docs and still have trouble understanding this (perhaps due to lack of background in networks).
Given this Dockerfile:
...ANSWER
Answered 2021-Jul-18 at 14:20There are two networking layers, which we could call "inside the cluster" and "outside the cluster". The Pod and the Service each have their own IP address, but these are only inside the cluster. You need the NodePort to forward a request from outside the cluster to inside the cluster.
In a "real" Kubernetes cluster, you'd make a request...
- ...to
http://any-kubernetes-node.example.com:31245/
, with a "normal" IP address in the way you'd expect a physical system to have, connecting to the NodePort port, which forwards... - ...to
http://web-service.default.svc.cluster.local:80/
, with a cluster-internal IP address and the service port, which looks at the pods it selects and forwards... - ...to
http://10.20.30.40:3000/
, using the cluster-internal IP address of any of the matching pods and the target port from the service.
The containerPort:
in the pod spec isn't strictly required (but if you give it name: http
then you can have the service specify targetPort: http
without knowing the specific port number). EXPOSE
in the Dockerfile means pretty much nothing in this sequence.
This sequence also gives you some flexibility in not needing to know where things are running. Say you have 100 nodes and 3 replicas of your pod; the initial connection can be to any node, and the service will forward to all of the target pods, without you needing to know any of these details from the caller.
(For completeness, a LoadBalancer type service requests that a load balancer be created outside the cluster; for example, an AWS ELB. This forwards to any of the cluster nodes as in step 1 above. If you're not in a cloud environment and the cluster doesn't know how to create the external load balancer automatically, it's the same as NodePort.)
If we reduce this to a local Kubernetes installation (Docker Desktop, minikube, kind) the only real difference is that there's only one node; the underlying infrastructure is still built as though it were a multi-node distributed cluster. How exactly you access a service differs across these installations. In Docker Desktop, from the host system, you can use localhost
as the "normal" "external" node IP address in the first step.
QUESTION
I have some questions regarding my minikube cluster, specifically why there needs to be a tunnel, what the tunnel means actually, and where the port numbers come from.
BackgroundI'm obviously a total kubernetes beginner...and don't have a ton of networking experience.
Ok. I have the following docker image which I pushed to docker hub. It's a hello express app that just prints out "Hello world" at the /
route.
DockerFile:
...ANSWER
Answered 2021-Jul-13 at 09:18Let me answer on all your questions.
0 - There's no need to create pods separately (unless it's something to test), this should be done by creating deployments (or statefulsets, depends on the app and needs) which will create a replicaset
which will be responsible for keeping right amount of pods in operational conditions. (you can get familiar with deployments in kubernetes.
1 - Tunnel is used to expose the service from inside of VM where minikube is running to the host machine's network. Works with LoadBalancer
service type. Please refer to access applications in minikube.
1.1 - Reason why the application is not accessible on the localhost:NodePort
is NodePort is exposed within VM where minikube
is running, not on your local machine.
You can find minikube VM's IP by running minikube IP
and then curl %GIVEN_IP:NodePort
. You should get a response from your app.
2 - targetPort
indicates the service with which port connection should be established. Please refer to define the service.
In minikube
it may be confusing since it's pointed to the service port
, not to the targetPort
which is define within the service. I think idea was to indicate on which port service
is accessible within the cluster.
3 - As for this question, there are headers presented, you can treat them literally. For instance:
QUESTION
I have the following configmap spec:
...ANSWER
Answered 2021-Jul-12 at 11:38It looks like your pods are managed by web-deployment
deployment. You cannot patch such pods directly.
If you run kubectl get pod -n -oyaml
, you'll see a block called ownerReferences
under the metadata
section. This tells you who is the owner/manager of this pod.
In case of a deployment, here is the ownership hierarchy:
Deployment -> ReplicaSet -> Pod
i.e. A deployment creates replicaset and replicaset in turn creates pod.
So, if you want to change anything in the pod Spec, you should make that change in the deployment, not in the replicaset or the pod directly as they will get overwritten.
Patch your deployment either by running and edit the environment field there:
QUESTION
i'm using SamKirkland/FTP-Deploy-Action to deploy my files to my server,
but the key 'exclude' doesn't actually exclude Workspace and my resources folders, it works fine for .git and .github folders.(i guess the problem is with exclude key's value syntax but i couldn't find the right one for my folder.)
also i don't want to use .gitignore bc i want my resources folder in my repository.
ANSWER
Answered 2021-May-16 at 14:54the problem was with github website.
github's action's status turned incident!
i should've checked out github status page.
QUESTION
I am working on a Multi-Container Flask App, which involves a Web container(Flask app), Postgres container(for DB services), and a Redis container(for Caching services).
Web app has web_deployment.yaml
and web_service.yaml
files.
Postgres app has postgres_deployment.yaml
and postgres_service.yaml
files.
Redis app has redis_deployment.yaml
and redis_service.yaml
files.
My web_deployment.yaml
file looks like this:
ANSWER
Answered 2021-May-14 at 11:52I successfully fixed it!
The mistake was that, I just mentioned the password in the posgres_deployment.yaml
file, but I should also mention the database name and the username, using which the web_deployment.yaml
is trying to access this db service.
Now the new postgres_deployment.yaml
file, after the correction, looks like this:
QUESTION
ANSWER
Answered 2021-Apr-02 at 06:47MSDEPLOY_RENAME_LOCKED_FILES
As far as I know, this method only supports Azure Web APP service. This option is used to set the Azure App settings(cloud). It does not apply to IIS deployment(on-prem).
##[error]Error Code: ERROR_FILE_IN_USE
To solve this issue, you could try the following methods:
1.You could set the Take App Offline
option in IIS Web Deploy task.
Here is a doc about Taking an Application Offline before Publishing
2.You could Stop your website before deploying the app and restart it after deployment.
You could add IIS web app manage task
to stop and start the IIS Website.
For example:
Update1:
As ssinfod's comment: stop the application pool could solve this issue.
We can also achieve this in IIS web app manage task
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install web-deploy
Copy deploy.php to a dedicated folder on your server, for example /deploy.
Create the configuration file config.json in the same folder using the following example:
Set the mandatory options repository, destination and mode in the config file (see below for details).
Add a webhook in your GitHub repository settings, pointing the payload URL at the deployment script.
Push to your GitHub repository to deploy.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page